2

我的验证代码有问题......我得到了一个包含两个字段(用户、密码)和一个 jQuery 函数的表单,该函数在提交时执行一个函数:

jQuery(document).ready(function($) {
    $('#login-form').on('submit', validateData());

    function validateData() {
        userInput = $('#in-user');
        userCntrl = userInput.closest('.control-group');
        passInput = $('#in-pass');
        passCntrl = passInput.closest('.control-group');

        userCntrl.addClass('error'); // This executes on page load, not on submit

        formSubmit = false;

        console.log( userInput.val() ); // This logs on page load, not on submit

        return formSubmit;
    }
});

事实是这段代码在页面加载时运行,但 onSubmit 没有任何反应......

我确定这很容易,但我看不到解决方案。

4

2 回答 2

6

你需要:

$('#login-form').on('submit', validateData);

注意后面没有括号validateData

正如您所拥有的那样,您在页面加载时调用该函数并将其返回值 ( false)设置submit为表单的处理程序。

(你应该在定义函数之后这样做。)validateData

于 2013-04-17T13:38:56.370 回答
3

应该:

$('#login-form').on('submit', validateData);
于 2013-04-17T13:38:36.230 回答