[英]Will form submit twice if there's an onclick submit?
有人告诉我您需要在提交表单的方法的末尾添加“ return false;
”。
我尝试了以下代码,尽管我省略了“ return false
”,但该表单仅提交一次,而不是两次。 有谁知道标准的浏览器行为,该行为决定了javascript表单提交会覆盖html表单提交还是被视为一项操作?
<form name="myform" action="">
<button type='submit' onclick='submitForm();'>Submit</button>
</form>
<script>
function submitForm(){
console.log('Button Clicked');
document.myform.submit();
}
</script>
如果我将按钮更改为输入类型,那么从测试中我也只会收到一次提交,而不是两次提交,但是我想确认这是标准行为。 即:
<input type='submit' onclick='submitForm();'/>
如您所链接的答案的注释中所述,事实是, submit
仅会以您处理的形式提交数据,而onclick
属性将触发您的方法调用,该方法将在内部触发另一个提交。
我认为它的作用如下(如果我做错了,请随时纠正我):
onclick
值,该值将调用您的submitForm()
方法。 submit
类型第二次submit
。 那可以解释为什么您一次看到console.log
。 您必须在服务器端跟踪结果,以检查文档是否已提交一次或两次。
(如果是一次,那么这个答案是完全错误的。)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.