Я прочитал некоторое учебное руководство Формы AJAX как это. Форма тега используется в HTML-коде. Однако я полагал, что это не необходимо. Так как мы отправляем Запрос HTTP через XmlHttpRequest, отправленные данные могут быть чем-либо, не необходимым входом в форме.
Так, есть ли какая-либо причина иметь тег form в HTML для приложения Ajax?
Помимо прогрессивного улучшения, как уже обсуждалось (не заставляйте свой сайт требовать JavaScript, пока он действительно не потребуется),
с onsubmit
было бы необходимо, чтобы надежно поймать отправку нажатия клавиши Enter.
(Конечно, вы можете попробовать перехват нажатий клавиш в отдельных полях формы, но это неудобно, ненадежно и никогда не сможет на 100% воспроизвести собственное поведение браузера по сравнению с отправкой формы.)
Иногда веб-приложения, использующие ajax для преобразования своих данных, либо используют формы в качестве запасного варианта, когда у пользователя не включен JavaScript (иногда дорого, но очень хорошо).
В противном случае, если приложение создает и отправляет запрос AJAX, нет веских причин для использования формы
, за исключением редких особых случаев, когда вам действительно нужен элемент формы. Не в моей голове:
сбросить форму
( это, насколько мне известно, доступно только в <форме>
). Я вижу по крайней мере две возможные причины:
И я бы добавил, что, если вы хотите, чтобы пользователь вводил некоторые данные, поэтому
и < input>
теги существуют; -)
Использование правильных тегов также помогает пользователям - например, подумайте о слепых пользователях, которые используют какое-то конкретное программное обеспечение: это программное обеспечение, вероятно, будет иметь определенное поведение для форм ввода поля.
Это действительно зависит от того, что вы делаете. Если вы хотите получить содержимое формы, отправленное пользователем, и использовать AJAX для его отправки, тогда вам нужно будет использовать тег формы, чтобы ваш пользователь мог где-нибудь ввести свои данные.
Бывают и другие случаи, когда вы не отправляете данные из формы, и в этом случае у вас не будет формы, о которой нужно беспокоиться:)