JQuery и Ajax: важен элемент <form>, или я могу просто использовать <input> - PullRequest
3 голосов
/ 13 октября 2011

Мне было интересно, нужно ли мне использовать элемент формы в моем HTML при выполнении вызова Ajax . Могу ли я просто избежать использования, например, элемента ввода, а затем указать остальную информацию (URL и т. Д.) В JavaScript?

Под "потребностью" я имею в виду, есть ли какая-то стилистическая причина, безопасность или надежность, чтобы продолжать использовать элемент <form>?

Ответы [ 4 ]

6 голосов
/ 13 октября 2011

Если вы выполняете запрос AJAX, вам технически не нужен тег <form>. Однако есть некоторые причины, по которым вы можете продолжать использовать его

  1. Это может быть более семантически правильным для вашей ситуации (например, пользователь фактически отправляет «форму»).
  2. Представьте себе, если у пользователя не включен JavaScript или используется браузер, который не поддерживает JavaScript. Ваш сайт может ухудшиться более изящно. То есть пользователь может отправить форму даже без JavaScript.
  3. Есть некоторые плагины JQuery , которые могут анализировать <form> и отправлять его с помощью AJAX, вместо того, чтобы требовать от вас выбора каждого <input> элемента, извлечения его значения и создания запроса AJAX самостоятельно.
3 голосов
/ 13 октября 2011

Вам не нужна форма, нет. Если у вас много элементов, то, очевидно, хорошо обернуть их в div, чтобы упростить выбор входов.

Однако есть преимущество в использовании form, что является постепенным ухудшением качества. Если у вас есть form с обычной кнопкой submit со следующим jQuery:

$("form").submit(function(e) {
    e.preventDefault();

    // Ajax request
});

e.preventDefault() остановит отправку формы в обычном режиме и выполнит запрос AJAX, который вы напишете ниже. Если у пользователя не включен JS, форма будет отправлена ​​обычным способом без JS.

2 голосов
/ 13 октября 2011

Нет, вам это явно не нужно, если вам не нужен конкретный метод формы / действия. Вы можете напрямую использовать input поля и иметь кнопку с привязанным событием щелчка и вызывать ее через ajax / jquery.

Я лично использую технику на основе форм, если я хочу показать совершенно другую страницу / представление после того, как пользователь «отправил» форму.

Нет никакой стилистической причины, причины безопасности или надежности использования (или неиспользования) формы. Вы можете указать те же параметры в $.ajax(), если хотите.

Это как вы хотите создать приложение ...

0 голосов
/ 13 октября 2011

Если вы используете ajax, вам не нужно создавать форму.Если вы используете обычный метод формы, вам нужен один

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...