这两种表单提交方法有什么区别?
<form method="post" action="gert.php" onsubmit="return validate()">
<p>Enter an email address:</p>
<input id='email'>
<button type='submit' id='validate'>Validate!</button>
</form>
<form method="post" action="gert.php" onSubmit='validate(); return false;'>
<p>Enter an email address:</p>
<input id='email'>
<button type='submit' id='validate'>Validate!</button>
</form>
如果表单未填写,我正在使用第一个提交表单并在JavaScript false
函数中返回validate()
。刚才在另一个网站上,我看到第二个被使用了。我无法弄清楚差异,所以我想知道我是否仍然使用旧的方法来做这些事情,或者两者是否意味着相同的事情?我在第二种方式思考,只有在执行thisform.submit
语句时才会提交表单。当我执行表格时我才明白这一点,但我仍然想知道两者之间的主要区别是什么?
答案 0 :(得分:2)
如果来自validate()
的回复 truthy ,则只会提交第一个示例。
第二个示例将验证表单(call validate()
)但它永远不会被提交,因为 falsy 值被发送回事件处理函数将取消默认的浏览器行为
答案 1 :(得分:0)
第一个,如果validate()
返回true
,则会提交您的表单。
第二个,无论validate()
返回什么,表单都不会被提交。(但表单可以在validate
函数中提交。)