我有这个jQuery函数注入每个页面,以便在点击后禁用提交按钮。Javascript返回false;没有取消表单提交另一个。提交jQuery调用
$('form').submit(function() {
var btn = $('input[type=submit]', this);
disableButtonOrLink.disableSubmit(btn);
btn = $('button[type=submit]', this);
disableButtonOrLink.disableSubmit(btn);
});
的问题是,我也有,有时附着于形式的东西形状像这样
<form action="someAction" method="post" name="someForm" class="form"
onsubmit="var invalid=false;
invalid=someAction();
if(invalid){return false;}"
id="someForm">
我有这是问题出现了一些后端验证的是, ('form')。提交动作总是在返回false后被调用。由于返回错误,表单实际上并未提交;然而这个jQuery函数仍然在被调用之后。无论如何阻止这个.submit被称为?
只是为了澄清到底发生了什么: 形式对onsubmit被调用;
返回虚假部分正在被击中并正确取消提交;
的(“形式”)。递交仍然被称为的onsubmit完成后,就好像表单提交并没有取消,并禁止按钮。
我想阻止发生最后一步。
究竟做了preventDefault()方法做/停止的发生??? – mcgray
在我的例子中,它获取了'form'中的每个'button'元素。 e.preventDefault()停止默认的动作,例如表单中的按钮,它不会发送它。 #Edit - 实际上,它会更清楚,如果我会赶上'input'型submit'的' - 在这种情况下,默认操作提交表单 – Krizzu
是否有在的onsubmit部分使用.preventDefault()的方式如果它是用html写的? I.E.的onsubmit =“something.preventDefault()”作为this.preventDefault()似乎并不奏效 – mcgray