【发布时间】:2013-02-22 15:16:10
【问题描述】:
我想阻止带有 onclick 事件的提交按钮提交:
$j('form#userForm .button').click(function(e) {
if ($j("#zip_field").val() > 1000){
$j('form#userForm .button').attr('onclick','').unbind('click');
alert('Sorry we leveren alleen inomstreken hijen!');
e.preventDefault();
return false;
}
});
这是提交按钮:
<button class="button vm-button-correct" type="submit"
onclick="javascript:return myValidator(userForm, 'savecartuser');">Opslaan</button>
它会显示“alert”功能并移除 onclick 事件,但无论如何都会提交表单。在提交之前手动删除onclick事件将解决问题。但是,这是核心功能,我不想删除它。
编辑:
这肯定是由 onclick 选择器引起的。如何强制我的 jQuery 脚本立即重新加载 onclick 事件?在 jquery 代码之前添加:$j('form#userForm .button').attr('onclick',''); 将解决问题.. 但是我的验证将不再起作用...
【问题讨论】:
-
您真的应该在表单的提交处理程序中执行此操作。如果您在表单获得焦点时按 Enter 键。它将触发提交处理程序而不是您的点击,因此您的验证将被绕过
标签: jquery submit preventdefault