这是我表格的一部分:
<form name='form-main' onsubmit='return validate()' action='' method='post'>
<center><input type='submit' onClick='this.disabled=true; this.form.submit();' value='I accept - Download the GM!'/></center>
</form>
Run Code Online (Sandbox Code Playgroud)
这是validate
功能:
function validate()
{
// this is just to test if it actually shows
alert('You must not leave any of the fields blank!');
return false;
}
Run Code Online (Sandbox Code Playgroud)
每当我点击提交按钮,没有任何反应,页面只是重新加载..我希望它显示警报对话框.
T.J*_*der 22
当您调用表单的submit
函数时,submit
不会触发该事件.这是设计,假设如果您从代码触发提交,您已经完成了任何必要的验证.(请注意,这是真正的HTMLFormElement#submit
功能;它不是围绕它把包装库的一定是真的.)
在您的示例中,我将删除click
按钮上的处理程序.这是一个提交按钮,所以只需submit
在表单上的事件中放入任何相关的逻辑.或者,如果您愿意,可以将其validate()
作为按钮的一部分click
.
您可以像这样覆盖原始的"提交"方法:
HTMLFormElement.prototype._submit = HTMLFormElement.prototype.submit;
HTMLFormElement.prototype.submit = function (){
this._submit();
alert('Deddy Is Great :)'); // or fire the onsubmit event manually
};
Run Code Online (Sandbox Code Playgroud)