在尝试拦截表单提交时陷入无限循环

时间:2013-06-22 20:41:37

标签: javascript jquery html

我正在编写Javascript / JQuery代码,我想在提交之前拦截表单提交,因为我需要检查字段是否有效。

所以我阻止发生默认事件,检查我想要的内容,然后如果一切正常则再次触发事件。问题是,这触发了完全相同的功能,我陷入无限循环。

有解决方法吗?我可以想到解决方法,但它们毕竟是解决方案,而不是最优雅的解决方案。

这是我的代码:

            $("#register_form").submit(function(event)  {
                event.preventDefault();
                console.log('form submit attempt');
                checkUsername();
                $("#register_form").submit();
            });

1 个答案:

答案 0 :(得分:0)

为了能够在出现错误时停止提交表单,您需要从该功能return false。您需要确保checkUsername()函数返回bool。

试试这个......

$("#register_form").submit(function(event)  {                    
    if(checkUsername())
        return true;

    return false;       

});

甚至更好......

$("#register_form").submit(function(event)  {                    
        return checkUsername();                    
});