只有在验证通过时,jQuery才会将数据发布到服务器

时间:2013-10-04 10:21:13

标签: jquery

这是我的jQuery代码段。

 $("#saveBankDetails").click(function(){
           if($('#firstBankDetail').is(':visible')) {
                validateFirstBankDetails();
            }     
       });

所以当我点击saveBankDetails如果firstBankDetail可见时调用javascript函数。 validateFirstBankDetails()是一个javascript函数,如果验证失败,则返回false。

现在,即使验证失败,我也会被重定向到另一个页面。我怎么能阻止它?

我想要实现的是仅在验证通过时提交表单数据,即validateFirstBankDetails()返回true。我怎样才能做到这一点 ?我是jQuery的初学者。请建议。

2 个答案:

答案 0 :(得分:1)

试试这个

       $("#saveBankDetails").click(function(){
           if($('#firstBankDetail').is(':visible')) {
               return validateFirstBankDetails();
           }     
       });           

答案 1 :(得分:0)

阅读您的问题,我了解您的按钮是表单的提交按钮。

那么,您可以连接表单的“submit”事件,而不是按钮的“click”事件,然后使用非常有用的event.preventDefault()来避免重定向,如果验证不成功。

这样的事情: (如果页面中只有一个表单,我们可以通过jQuery选择它作为“表单”):

$(document).ready(function() {
    $('form').submit(function (event) {
        if($('#firstBankDetail').is(':visible')) {
            if (validateFirstBankDetails() == false) {
                // won't submit
                event.preventDefault();
            } else {
                // will submit
            }
        } else {
            // won't submit
            event.preventDefault();
        }
    });    
});

我已经尝试过它并且有效。 希望这可以帮助! 亲切的问候,

里卡多。