Действительно ли тег form необходим в веб-приложении Ajax?

Я прочитал некоторое учебное руководство Формы AJAX как это. Форма тега используется в HTML-коде. Однако я полагал, что это не необходимо. Так как мы отправляем Запрос HTTP через XmlHttpRequest, отправленные данные могут быть чем-либо, не необходимым входом в форме.

Так, есть ли какая-либо причина иметь тег form в HTML для приложения Ajax?

15
задан Morgan Cheng 24 April 2010 в 14:14
поделиться

4 ответа

Помимо прогрессивного улучшения, как уже обсуждалось (не заставляйте свой сайт требовать JavaScript, пока он действительно не потребуется),

с onsubmit было бы необходимо, чтобы надежно поймать отправку нажатия клавиши Enter.

(Конечно, вы можете попробовать перехват нажатий клавиш в отдельных полях формы, но это неудобно, ненадежно и никогда не сможет на 100% воспроизвести собственное поведение браузера по сравнению с отправкой формы.)

6
ответ дан 1 December 2019 в 04:34
поделиться

Иногда веб-приложения, использующие ajax для преобразования своих данных, либо используют формы в качестве запасного варианта, когда у пользователя не включен JavaScript (иногда дорого, но очень хорошо).

В противном случае, если приложение создает и отправляет запрос AJAX, нет веских причин для использования формы , за исключением редких особых случаев, когда вам действительно нужен элемент формы. Не в моей голове:

  • при использовании функции сериализации формы jQuery
  • при мониторинге всех полей в форме на предмет изменений
  • , когда необходимо использовать кнопку сбросить форму ( это, насколько мне известно, доступно только в <форме> ).
5
ответ дан 1 December 2019 в 04:34
поделиться

Я вижу по крайней мере две возможные причины:

  • Изящная деградация (см. Также Ненавязчивый JavaScript ) : если пользователь не " Если в его браузере включен Javascript, ваш веб-сайт должен работать с обычным старым HTML.
  • Поведение браузера: пользователи знают, как выглядят формы и как они себя ведут (автозаполнение, исправление ошибок, ...) ; лучше не уходить слишком далеко от этого


И я бы добавил, что, если вы хотите, чтобы пользователь вводил некоторые данные, поэтому и < input> теги существуют; -)

Использование правильных тегов также помогает пользователям - например, подумайте о слепых пользователях, которые используют какое-то конкретное программное обеспечение: это программное обеспечение, вероятно, будет иметь определенное поведение для форм ввода поля.

3
ответ дан 1 December 2019 в 04:34
поделиться

Это действительно зависит от того, что вы делаете. Если вы хотите получить содержимое формы, отправленное пользователем, и использовать AJAX для его отправки, тогда вам нужно будет использовать тег формы, чтобы ваш пользователь мог где-нибудь ввести свои данные.

Бывают и другие случаи, когда вы не отправляете данные из формы, и в этом случае у вас не будет формы, о которой нужно беспокоиться:)

0
ответ дан 1 December 2019 в 04:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: