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='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() 的响应为 truthy 时,才会提交第一个示例。

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

关于javascript - 两种表单提交方法的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8982776/

相关文章:

javascript - 字符串结尾正则表达式匹配太慢

javascript - HTML 上的 Django 导航文本

javascript - 如何将filament的daterangepicker与新的jquery一起使用?

javascript - 如何获取页面加载的所有请求的响应正文?

javascript - 如何查找所有实例并在警报中显示

javascript - 我的 subnav 上的填充错误

javascript - 注入(inject)新的 HTML 会移除之前附加的监听器

javascript - 如何从 iframe 刷新父窗口?

javascript - 将 JSON 传递给 Backbone.Marionette View 的模板

javascript - Angular2/TypeScript 和 HTTP : How to attach object to component?