Плагин проверки JQuery требует тега form?

Я хочу проверить некоторые текстовые поля asp.net с плагином Проверки jQuery, найденным по http://docs.jquery.com/Plugins/Validation, но кажется, что элементы должны быть между тегом form. Если бы у меня есть просто пара элементов, я едва назвал бы это формой, таким образом, мне не перенесли бы их в элементе формы. Существует ли путь вокруг этого? Кроме того, если у меня есть две кнопки на форме, отмене и кнопке отправки, и я хочу, чтобы форма только проверила, когда кнопка отправки нажата, но не кнопка отмены, как это выполняется?

7
задан Xaisoft 21 January 2010 в 06:14
поделиться

2 ответа

У меня есть просто пара элементов, я бы вряд ли позвонить, что форма, поэтому я бы скорее не у них обернуты внутри элемент формы.

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

Большинство браузеров создаст функцию неявно, но теперь вы не контролируете поведение формы. Обычно используются значения по умолчанию, предназначенная для запрошенной страницы URL.

Проблема в том, что вы, вероятно, не имеете представлению, какой селектор использовать в JQuery, чтобы получить ссылку на форму ... но я полагаю $ («Форма») будет делать трюк.

Проверьте, когда нажата кнопка «Отправка», но не кнопка «Отмена»

подключаемое подключаемое и работает на событии «Отправить» форма. Как правило, кнопки отмены являются элементами ввода HTML с атрибутом типа «Сброс»:

<input type="reset" value="cancel" />

Кнопка «Сброс»:

<input type="reset" value="cancel" />

Кнопка «Сброс» не приведет к отправке формы, и это не запускает проверку.

Если вы используете другой тип кнопки, убедитесь, что onclick даже возвращает false. Это отменяет представленное действие формы, но до сих пор позволяет запустить собственную javasctip, когда кнопка нажала.

2
ответ дан 7 December 2019 в 14:33
поделиться

Плагин jQuery Validate требует функции элемента формы для функции, поэтому вы должны иметь свои поля формы (независимо от того, насколько мало) содержится внутри формы.

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

Например, используя класс для определения правильной кнопки отправки:


$(document).ready(function() {
  var form = $("form");

  form.validate({
    onsubmit: false,
  });

  //Validate form only if validation submit button is clicked
  //Allows cancel submit buttons to function properly
  $('.validate', form).click(function() {
    if (form.valid()) {
      form.submit();
    }
    else {
      form.validate().form();
    }
  });

});
2
ответ дан 7 December 2019 в 14:33
поделиться
Другие вопросы по тегам:

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