Javascript 两种提交表格方法的差异

Javascript 两种提交表格方法的差异,javascript,Javascript,这两种表单提交方法的区别是什么 <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="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
validate()
函数中返回
false
。刚才在另一个网站上,我看到第二个正在使用。我无法理解两者之间的区别,所以我想知道我是在用老方法做事,还是两者的意思相同?我在想第二种方法,只有执行了
thisform.submit
语句,表单才会被提交。我在执行表单时就知道了这一点,但我仍然想知道两者之间的主要区别是什么?

只有在
validate()
的响应是真实的情况下,才会提交第一个示例


第二个示例将验证表单(调用
validate()
),但它将永远不会被提交,因为将falsy值发送回事件处理程序函数将取消默认的浏览器行为。

第一个示例,如果
validate()
返回
true
,则表单将被提交。 第二个,无论
validate()
返回什么,表单都不会被提交。(但是表单可以在
validate
函数中提交。)