动态表单验证(不仅仅是字段)

时间:2011-06-21 00:26:49

标签: jquery validation forms dynamic jquery-validate

我正在试图弄清楚如何使用jquery和jquery的验证插件进行动态表单验证。我对jquery和JS一般都很新。

我已经弄清楚当我点击提交(使用submitHandler)时如何进行验证。但是我需要通过ajax发布POST,而不是本机方式。所以我需要防止默认,我似乎无法做到。对我来说,本地方式是当您单击“提交”时,将执行操作。我不希望这个动作发生,因为我试图通过$ .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 个答案:

答案 0 :(得分:2)

您没有正确使用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;
});

返回虚假;最后将阻止默认表单提交。

答案 1 :(得分:0)

你看过jQuery (ajax) form plugin吗?