Кнопка HTML Submit: інше значення / текст кнопки?


139

Я хотів би створити кнопку подання форми HTML зі значенням 'add tag' , однак веб-сторінка шведською мовою, тому я хотів би мати інший текст кнопки .

Тобто я хочу мати кнопку на кшталт

введіть тут опис зображення

але я хочу мати свій код

if (request.getParameter(cmd).equals("add tag"))
    tags.addTag( /*...*/ );

Чи можливо це? Якщо так, то як?


4
Я думаю, що значення не має значення. Вам слід просто перевірити наявність "add_tag" у ваших даних POST
greg0ire

6
Я читаю це як "я хочу, щоб текст вводу не був відповідний моїй серверній обробці", щоб, коли у вас є кілька перекладів для форми, ви не отримали одне з декількох текстових значень. Має значення, коли у вашій формі є кілька кнопок подання, і ви хочете це зробити, якщо (request.getParameter ("тип-подати").
Дорівнює

Відповіді:


228

Це можливо за допомогою buttonелемента.

<button name="name" value="value" type="submit">Sök</button>

На сторінці W3C button:

Кнопки, створені за допомогою елемента BUTTON, функціонують так само, як кнопки, створені за допомогою елемента INPUT, але вони пропонують більш багаті можливості відображення: елемент BUTTON може мати вміст.


7
Просто зауважте, це не працює, як рекламується в IE6 / 7. Ця стаття може виправити проблему, але у вас виникнуть проблеми, якщо ви використовуєте asp.net або інший фреймворк, який забороняє HTML після відтворення
ristonj

ви також можете просто використати властивість імені, яке забезпечує вихід у POST
TheSatinKnight

23

Дотримуючись пропозиції @ greg0ire в коментарях:

<input type="submit" name="add_tag" value="Lägg till tag" />

З боку вашого сервера ви зробите щось на кшталт:

if (request.getParameter("add_tag") != null)
    tags.addTag( /*...*/ );

(Оскільки я не знаю цієї мови (Java?), Можуть виникнути синтаксичні помилки.)

Я вважаю за краще <button>рішення, але воно не працює так, як очікувалося на IE <9 .


13

Тут є багато відповідей, що пояснюють, що ви могли б зробити (я використовую іншу назву поля), але простий (і поки що невстановлений) відповідь на ваше запитання "ні" - ви не можете мати інший текст і значення, використовуючи просто HTML.


2

Я не знаю, чи правильно я зрозумів, але, як я розумію, ви можете використати додаткове приховане поле зі значенням "Додати тег" і дозволити кнопці мати потрібний текст.


3
Не корисно з кількома кнопками в одній формі, що, на мою думку, є проблемою ОП.
ijw

Неможливо побачити докази його запитання про те, що в одній формі є кілька кнопок.
Даррен

0

Якщо ви обробляєте "додавання тегу" через JScript:

<form ...>
<button onclick="...">any text you want</button>
</form>

Або вище, якщо обробляти через перезавантаження сторінки


2
Так, JS потрібен для кожної форми, незалежно від простоти. Ласкаво просимо на ASP.NET.
ijw

Як розробник ASP.Net, я можу це підтвердити. : P Припустимо, що ти все ще живеш у дні веб-форм. ASP.Net MVC набагато краще. Немає глядачів, глобально обгортаючих форм тощо
Джеймс Біллінгем,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.