Проверка динамической формы (не только поля) - PullRequest
0 голосов
/ 21 июня 2011

Я пытаюсь выяснить, как выполнить динамическую проверку формы с помощью jquery и плагина проверки jquery. Я довольно новичок в jquery и JS в целом.

Я выяснил, как выполнить проверку при нажатии кнопки «Отправить» (с помощью submitHandler). Однако мне нужно POST через ajax, а не родным способом. Поэтому мне нужно предотвратить дефолт, и я, похоже, не могу. Родной путь для меня, когда вы нажимаете кнопку отправить, действие происходит. Я не хочу, чтобы действие происходило, поскольку я пытаюсь сделать это через $ .ajax ({...});.

Если я добавлю проверку в $ ('# form'). Live ('click', function (e) {...}), я могу теперь публиковать сообщения через ajax, однако проверка не происходит. У меня все внутри $ (document) .ready (function () {...};.

Как я могу получить динамическую форму, проверенную внутри метода live ('click')? Я пытался вызвать validate (), когда я добавляю форму. Я добавляю целую форму нажатием на объект и добавляю к дочернему объекту.

В любом случае (в submitHandler или с использованием live ('click')) я в порядке, но я не могу понять, в любом случае.

Надеюсь, этого достаточно, но если нет, я буду рад предоставить больше. Небольшой фрагмент submitHandler ниже.

   $("#form-" + $(this).attr('id')).validate({
     submitHandler: function(form) {
       this.preventDefault();
       // My ajax function below (submitForm);
       submitForm(this);
       alert('wee');
     }

Ответы [ 2 ]

2 голосов
/ 21 июня 2011

Вы неправильно используете submitHandler.Попробуйте это:

 $("#myform").validate({
      submitHandler: function(form) {
        form.submit();
      }
 });

и затем переопределите функцию отправки для формы:

$('#myform').submit(function() {
  $.post(url, $(this).serialize(), function(response) {
    //do something with the AJAX response
  });

  return false;
});

return false;в конце будет запрещена отправка формы по умолчанию.

0 голосов
/ 21 июня 2011

Вы уже видели плагин формы jQuery (ajax) ?

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