Если я использую <div>
, что я должен использовать вместо <input>
, доступного в формах?
Вполне законно включать <input>
вне <form>
.
Сказав, что я обычно буду использовать <form>
, чтобы вы могли связываться с его событием onsubmit
, вместо того, чтобы беспокоиться о людях, нажимающих клавишу Enter для отправки формы, и о том, какие события генерируются (что зависит от браузера и содержание формы). Лучше пометить форму как форму и позволить браузеру применять ее обычное поведение, похожее на форму, чем пытаться ее подделать.
В идеале, чтобы правильно выполнить прогрессивное улучшение, вы должны сначала заставить форму работать без JavaScript, так что на самом деле будет что-то полезное, на что можно указать action
. Затем добавьте сценарий / XMLHttpRequest сверху. Если у вас должна форма, которая работает только со сценарием, вы можете добавить ее на страницу из сценария, чтобы она не присутствовала для пользователей, не являющихся JS, и они не запутались при попытке ее отправить.