0

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

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

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

这是我的代码:

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

1 回答 1

0

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

试试这个...

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

    return false;       

});

或者甚至更好...

$("#register_form").submit(function(event)  {                    
        return checkUsername();                    
});
于 2013-06-22T20:44:13.850 回答