Javascript onSubmit函数自动执行

Javascript onSubmit function auto executing

本文关键字:执行 函数 onSubmit Javascript      更新时间:2023-09-26

我的验证代码有问题…我得到了一个表单,有两个字段(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什么也没发生…

我相信这是一个简单的问题,但是我看不到解决办法。

您需要:

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

注意validateData后面没有括号。

正如你所拥有的,你的调用在页面加载的功能,并设置其返回值(false)作为submit处理程序的形式。

(您应该在定义validateData函数之后执行)

应该是:

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