2010-01-27 69 views
1

我使用Jquery表单验证来验证表单输入数据。有一个如何在其他函数之前启用Jquery表单验证功能?

确认

支票

提交此表的 。 。

的代码是:

<script type="text/javascript"> 
function Confirmation(){ 
    var answer = confirm("Do you really want to withdraw this amount of money from your account?") 
    if (answer){ 
     return true; 
    } 
    else{ 
     return false; 
    } 

} 
$(document).ready(function() { 
$("#withdraw").validate({ 
     rules: { 
     amount: { 
      required: true, 
      digits:true 


     } , 
     bank:{ 
      required:true, 

     }, 
     cardnumber1: { 
      required: true, 
      minlength:8 

     }, 
     cardnumber2:{ 
      required:true, 
      equalTo: "#cardnumber1" 
     }, 
      holder:{ 
      required:true, 
     } 
    } 
}) 
}); 
</script> 

我想Jquery的表单验证是Confirmation()之前执行,该怎么办呢?

+0

是我的问题明确? – Steven 2010-01-27 02:35:39

+0

很清楚史蒂文.. – 2010-01-27 11:09:34

+0

为什么这标记为CW? – 2010-01-27 11:09:57

回答

0

我看着documentation,并且有一个名为submitHandler的选项,我认为它允许您在提交表单之前但在验证发生之后添加您的确认对话框。试试这个...

<script type="text/javascript"> 
$(document).ready(function() { 
    $("#withdraw").validate({ 
    submitHandler : function(form) { 
     if (confirm("Do you really want to withdraw this amount of money from your account?")) { 
     form.submit(); 
     } 
    }, 
    rules: { 
     amount: { 
     required: true, 
     digits:true 
     }, 
     bank:{ 
     required:true, 
     }, 
     cardnumber1: { 
     required: true, 
     minlength:8 
     }, 
     cardnumber2:{ 
     required:true, 
     equalTo: "#cardnumber1" 
     }, 
     holder:{ 
     required:true, 
     } 
    } 
    }) 
}); 
</script> 
0

史蒂芬,

您需要从表单中删除onsubmit处理器,添加它的验证插件的的submitHandler ...

$("#withdraw").validate({ 
     rules: { 
      amount: { 
      required: true, 
      digits:true 
        } 
      // .. other rules here 
       }, 
     submitHandler: function(form){ 
     if(Confirmation()) 
      form.submit(); 
    } 
})