我的验证代码出了问题...我有一个带有两个字段的表单(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没有任何反应......
我确信这很简单,但我看不到解决方案。
答案 0 :(得分:6)
你需要:
$('#login-form').on('submit', validateData);
请注意validateData
之后缺少括号。
如果你拥有它,你在页面加载时调用函数并将其返回值(false
)设置为表单的submit
处理程序。
(你应该在定义validateData
函数之后执行此操作。)
答案 1 :(得分:3)
应该是:
$('#login-form').on('submit', validateData);