input type="submit"
а button
теги они взаимозаменяемы? или если есть какая-то разница, то когда input type="submit"
и когда использовать button
?
И если нет никакой разницы, тогда почему у нас есть 2 тега для одной цели?
html
accessibility
w3c
web-standards
semantic-markup
Джитендра Вьяс
источник
источник
button
иvalue
атрибут в какой-то версии IE,input
просто отправит то, что вы ожидали, какая-то версия IE не очень хорошо работает сbutton
s.input type="button"
vsbutton type=button
: stackoverflow.com/questions/469059/…Ответы:
http://www.w3.org/TR/html4/interact/forms.html#h-17.5
Так что только по функциональности они взаимозаменяемы!
(Не забудьте,
type="submit"
это значение по умолчаниюbutton
, поэтому оставьте его выключенным!)источник
type="submit"
с помощью кнопки, по умолчанию дляtype
этоsubmit
.type
умолчанию былоbutton
. Я предпочитаю указывать каждый атрибут, чтобы избежать несоответствия браузера.Это
<input type="button">
просто кнопка, и она сама по себе ничего не сделает.<input type="submit">
, Когда внутри элемента формы, будет отправить форму при нажатии.Еще одна полезная «специальная» кнопка - это кнопка
<input type="reset">
, которая очистит форму.источник
<input>
и<button>
теги. Вы предоставили полезную информацию<input>
в своем ответе, но это не хватает<button>
стороны.Используйте тег <button> вместо <input type = "button" ..> . Это рекомендуемая практика в начальной загрузке 3.
http://getbootstrap.com/css/#buttons-tags
источник
button
гораздо более явный, поставляется сaria
функциями специальных возможностей, и его гораздо проще стилизовать. Это также дальновидно, как это HTML5.Хотя оба элемента обеспечивают функционально и тот же результат *, я настоятельно рекомендую вам использовать
<button>
:input
предполагает, что элемент управления является редактируемым или может быть отредактирован пользователем;button
гораздо более четко с точки зрения цели, которую он служитinput[type="submit"]
в некоторых случаях они отображаются некорректноPOST
/GET
запрос на сервер* За исключением того, что по умолчанию не имеет определенного поведения.
<button type="button">
Таким образом, я очень не рекомендую использовать
<input type="submit" />
.источник
<input type='submit' />
не поддерживает HTML внутри него, так как это один самозакрывающийся тег.<button>
, С другой стороны, поддерживает HTML, изображения и т.д. внутри , потому что это пара тегов:<button><img src='myimage.gif' /></button>
.<button>
также более гибок, когда дело доходит до стиля CSS.Недостатком
<button>
является то, что он не полностью поддерживается старыми браузерами. Например, IE6 / 7 неправильно отображает его.Если у вас нет какой-то конкретной причины, вероятно, лучше придерживаться
<input type='submit' />
.источник
<input type="submit" value="Log In" />
<button>
в пользу чего-то нового. Означает ли это, что мы не должны упоминать конкретный тег в ответах вообще, потому что он может измениться в какой-то момент в будущем? Я бы предпочел оставить читателю в качестве упражнения определение того, как ответы применимы к их ситуации. Пока информация полезна для читателя, я не вижу проблемы в ее включении.Я понимаю, что это старый вопрос, но я нашел его на mozilla.org и думаю, что он применим.
https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Forms/My_first_HTML_form#And_a_<button>_to_finish
источник
<button type="button">
чтобы переместить ползунок / карусель к следующему слайду.<button>
новее<input type="submit">
, более семантически, легко стилизовать и поддерживать HTML внутри него.источник
В то время как другие ответы хороши и отвечают на вопрос, есть одна вещь, которую следует учитывать при использовании
input type="submit"
иbutton
. С помощьюinput type="submit"
вы не можете использовать псевдоэлемент CSS на входе, но вы можете для кнопки!Это одна из причин использовать
button
элемент над входом, когда дело доходит до стиля.источник
Я не знаю, является ли это ошибкой или функцией, но я обнаружил очень важное (по крайней мере, в некоторых случаях) отличие:
<input type="submit">
создает пару ключ-значение в вашем запросе и<button type="submit">
не делает. Протестировано в Chrome и Safari.Поэтому, если у вас есть несколько кнопок отправки в вашей форме и вы хотите знать, какая из них была нажата - не используйте
button
, используйтеinput type="submit"
вместо этого.источник
Если вы говорите
<input type=button>
, он не будет автоматически отправлять формуесли вы говорите о
<button>
теге, он новее и не отправляется автоматически во всех браузерах.В итоге, если вы хотите, чтобы форма отправлялась по клику во всех браузерах, используйте
<input type="submit">
источник
<button type="submit">
для автоматической отправки форм.