Jquery Validation插件,动态表单验证

时间:2010-02-08 03:57:26

标签: jquery-validate jquery

我正在使用Jquery Validation Plugin通过Ajax加载的表单(动态表单)。我知道,从Jquery 1.4开始,现在可以提交提交的直播活动。现在问题是我想在动态表单验证后显示确认消息。我的代码如下所示:

$('.dynamicForm').live('submit',function(){
   $(this).validate();
   if($(this).valid()){
      if(!confirm('Are you sure?'))
         e.preventDefault();
   }
});

它没有按预期工作。以某种方式确认首先显示,然后在第二次提交表单时,这是验证发生的时间。有什么想法吗?

2 个答案:

答案 0 :(得分:3)

使用validate options中提供的submitHandler功能:

$(".dynamicForm").validate({
   submitHandler: function(form) { //Only runs when valid
     if(confirm('Are you sure?'))
       form.submit();
   }
})

来自文档 - submitHandler

  

在表单有效时回调处理实际提交。获取表单作为唯一参数。替换默认提交。在验证后通过Ajax提交表单的正确位置。

答案 1 :(得分:3)

不知何故,这似乎有效:

$('.dynamicForm').live('mouseover',function(){
    $(this).validate({
        submitHandler:function(form){
            if(confirm("Are you sure?")){
                form.submit();
            }
        }
    });
});