2013-02-11 3 views
7

Я хочу создать кнопку формы-отправки в форме HTML, которая имеет другой текст, чем ключевое слово, которое будет отправлено хосту. Поэтому я использовалДолжен ли я использовать HTML <button> или <input>?

<button type="submit" name="SubmitAction" value="Done" accesskey="D"><u>D</u>one for Now</button> 

Но W3Schools предупреждает:

Примечание: Если вы используете <button> элемент в HTML форме, разные браузеры могут представлять различные значения. Используйте <input> для создания кнопок в формате HTML.

Есть ли способ создать кнопку, используя <input> текст, отображаемый на кнопке, отличной от значения, которое будет отправлено на хост?

Каковы варианты, которые разные браузеры отправляют с помощью <button>?

Примечание: Мне не нужно поддерживать что-либо более старое, чем IE 9, и использование будет действительно с текущими версиями Chrome и FireFox.

+0

возможно дубликат [Разница между <входной тип = «Отправить» /> и <тип кнопки = отправить> текст] (http://stackoverflow.com/questions/ 3543615/difference-between-input-type-submit-and-button-type-submittext-button) –

+0

Вы можете использовать функцию onsubmit, чтобы добавить значение, которое хотите получить в форме, когда вводится ввод, например, взрывные таблетки. –

+7

Вы, кажется, цитируете http://www.w3schools.com/tags/tag_button.asp. Пожалуйста, не путайте W3Schools с W3C. W3C поддерживает ряд веб-стандартов. W3Schools вписываются в отраженную славу того же названия при размещении некоторых (в основном устаревших) учебников, многие из которых имеют ошибки и проблемы безопасности. – Quentin

ответ

7

<button> vs. <input> Разница довольно устарела, и у вас не должно быть проблем с тем, чтобы использовать один из них в современных браузерах.

Если вы хотите использовать <input type="submit">, чтобы отправить значение, отличное от отображаемого ... не использовать. Вместо этого, просто добавить еще один элемент ввода:

<input type="submit" value="Displayed Value"> 
<input type="hidden" name="name" value="Actual Value"> 
+1

О нескольких идеях ввода: Но у меня есть несколько кнопок, каждый из которых представляет другое действие - Сохранить, Готово, Опубликовать, Отменить. –

+1

просто добавьте скрытый ввод при отправке формы в зависимости от того, какая кнопка нажата с некоторым javascript в событии onsubmit –

+0

@SoftwareMonkey вы можете положиться на имя кнопки отправки, но не на его значение –

Смежные вопросы