这是我的表单的一部分:
<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>
这是验证
函数:
function validate()
{
// this is just to test if it actually shows
alert('You must not leave any of the fields blank!');
return false;
}
每当我点击提交按钮时,什么也没有发生,页面只是重新加载。我希望它显示警报对话框。
最佳答案
当您调用表单的submit
函数时,不会触发submit
事件。 This is by design ,假设是如果您从代码触发提交,您已经完成了任何必要的验证。 (请注意,HTMLFormElement#submit
函数是这样;不一定它周围的包装器库一定是这样。)
在您的示例中,我将删除按钮上的 click
处理程序。这是一个提交按钮,因此只需将任何相关逻辑放在表单的 submit
事件中即可。或者,如果您愿意,可以调用 validate()
作为按钮 click
的一部分。
关于javascript - 未调用表单 'onsubmit',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19847203/