<form name="myForm" action="demo_form.asp" onsubmit="return validateForm();" method="post">
为什么必须有一个return
before validateForm()
?
<form name="myForm" action="demo_form.asp" onsubmit="return validateForm();" method="post">
为什么必须有一个return
before validateForm()
?
如果您不使用return
,Javascript 将调用validateForm
但会丢弃返回值。
如果onsubmit
返回false
,则不会提交表单。
如果函数返回,<form>
则可以停止默认的提交动作。onsubmit
false
属性的值onsubmit
被视为函数体,因此return
需要它以便在表单无效时不提交表单。
基本上,该内联处理程序中发生的事情是这样的:
<button id="submit-button" type="submit" onclick="return validate()"></button>
var button = document.getElementById("submit-button");
button.onclick; // function () { return validate(); }
相对:
<button id="submit-button" type="submit" onclick="validate(event)"></button>
var button = document.getElementById("submit-button");
button.onclick; // equals function (event) { validate(event); }