1

这是我的 jQuery 片段。

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

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

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

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

4

2 回答 2

1

试试这个

       $("#saveBankDetails").click(function(){
           if($('#firstBankDetail').is(':visible')) {
               return validateFirstBankDetails();
           }     
       });           
于 2013-10-04T10:26:57.667 回答
0

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

那么,您可以连接表单的“提交”事件,而不是按钮的“单击”事件,然后使用非常有用的 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();
        }
    });    
});

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

里卡多。

于 2013-10-04T10:50:18.273 回答