Javascript onSubmit函数自动执行

时间:2013-04-17 13:37:20

标签: javascript jquery html

我的验证代码出了问题...我有一个带有两个字段的表单(user,pass)和一个在提交时执行函数的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没有任何反应......

我确信这很简单,但我看不到解决方案。

2 个答案:

答案 0 :(得分:6)

你需要:

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

请注意validateData之后缺少括号。

如果你拥有它,你在页面加载时调用函数并将其返回值(false)设置为表单的submit处理程序。

(你应该在定义validateData函数之后执行此操作。)

答案 1 :(得分:3)

应该是:

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