0

我正在使用 jQuery 验证,代码如下:

$("#demo").validate({
  rules : {
    password : { required : true, }, 
    password2 : { required : true, }, 
  },
  messages: {
    password : { required: "This field is required.",},
    password2 : { required: "This field is required.",},
  },
  submitHandler: function(form) {
    $( "#dialog-confirm" ).dialog({
      autoOpen: true,
      resizable: false,
      height:250,
      width:500,
      modal: true,
      buttons: {
        OK : function(form) {
          form.submit();
        }
      }
    });
  }, 
});

我想要做的是将formfromsubmitHandler函数传递给按钮对象函数。一旦他们点击确定,它就会提交表单。

4

3 回答 3

1

在 jQuery Validate 插件中,form参数仅代表您的form对象。在这种情况下form,代表与 相同的东西$("#demo")。由于您尝试在.dialog()方法内使用它,因此form可能无法识别。

看看这个效果好不好...

submitHandler: function(form) {
    $( "#dialog-confirm" ).dialog({
        autoOpen: true,
        resizable: false,
        height:250,
        width:500,
        modal: true,
        buttons: {
            OK : function() {
                $("#demo").submit();
            }
        }  
    });
}
于 2013-08-13T18:39:29.363 回答
0

form从“确定”按钮处理程序中删除参数。您正在formsubmitHandler.

于 2013-08-13T16:14:02.937 回答
0

为了让 jQuery 在单击“确定”后发送表单,您需要按如下方式构建表单:

<form id="demo" method="post" action="">
  <input type="text" name="password" />
  <input type="text" name="password2" />

  <div id="dialog-confirm" title="Success"> Thank you, success message</div>

  <input type="submit" name="submit" value="Submit" />
</form>

这允许 jQuery 验证识别“确定”按钮。请注意,对话框应该在提交按钮之前的表单内。

于 2013-08-13T20:14:07.390 回答