Javascript e.preventDefault();不适用于提交()

2024-01-10

我在使用 javascript 提交表单时遇到问题submit()

现场录制 : https://jsfiddle.net/98sm3f3t/ https://jsfiddle.net/98sm3f3t/

HTML :

<form id="myForm" action="">
    First name: <input type="text" name="fname"><br>
    <button id="myButton" type="button">Submit form</button>
</form>

JS :

document.getElementById("myButton").addEventListener("click", function() {

    document.getElementById("myForm").submit();

});

document.getElementById("myForm").addEventListener("submit", function(e) {

    e.preventDefault();

    alert("cancel submitting");

});

它应该显示alert()并取消提交。

我的代码有什么问题吗?

提前致谢...


Per MDN https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement/submit(强调):

[The HTMLFormElement: submit()method] 与激活表单的 Submit 类似,但不完全相同。但是,当直接调用此方法时:

  • No submit事件被引发。特别是,表格的onsubmit事件处理程序未运行。
  • 不触发约束验证。

相反,您可以使用requestSubmit() https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement/requestSubmit方法,它提交一个表单,就像单击了提交按钮一样(即它将运行onsubmit处理程序)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Javascript e.preventDefault();不适用于提交() 的相关文章

随机推荐

  • 您不能多次定义关联名称“链接”

    您好 提前谢谢您 我在 Magento 2 3 的产品页面中出现错误 您不能多次定义关联名称 链接 trace 0 您定义的关联名称 链接 不能超过 一次 1 0 home buybionette public html vendor ma
  • 如何制作浮动控件

    我想创建一个控件 该控件 可能 浮动在其包含表单的边界之外 这可能吗 我可以怎样做呢 这与上下文菜单的功能非常相似 只是我需要能够向其中添加其他控件 例如按钮和图像 您想要一个 FormBorderStyle 设置为 None 的表单 如果
  • 如何在 Android Studio IDE 中自定义硬换行垂直线以进行代码格式化

    当我应用 格式化代码 时 即使我的屏幕有足够的空间将其显示在一行上 我的代码行也会自动向下行 多行 我发现这取决于垂直线 图像中的红色 我怎样才能删除这条线或加宽它 我的语言是 Dart 您可以禁用该线路文件 gt 设置 gt 编辑器 gt
  • 我必须以编程方式从 Android 应用程序的 manifest.xml 中检索权限组

    我想以分组方式列出设备上安装的每个应用程序所获取的权限 请看看这个 我希望这对你有帮助 private static final int REQUEST PERMISSIONS 10 Override protected void onCr
  • 从 PHP 查询时,视图内的 Postgresql regexp_matches 始终返回 null

    我有与此类似的观点 CREATE OR REPLACE VIEW regexp test AS SELECT regexp matches decode NTB4 base64 text d x 当我从 pgAdmin 查询视图时 按预期返
  • 代码中的注释有标准格式吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我想知道人们在代码中是否有标准的注释格式 不是方法或类的 xml 注释 而是注释within一个方法 也可以看看 是否有注释 C 代码的标准 如
  • 从代码隐藏访问 div 标签

    我正在使用 asp net 和 c 我有一个div在我的应用程序中标记class something 我需要访问这个某物代码隐藏中的类 我该怎么做 Code div class something somecode div Note 我想要
  • JavaScript:forEach 循环中的奇怪行为

    我的代码如下所示 someArray forEach x gt do something console log calling api for x callAnHttpApiAsync sleep 10 http api 调用是异步的 但
  • 无法在 Spring4D 中使用带有比较器的默认参数值

    我不确定这是否是一些通用问题 还是因为 Spring4D 实现 但我不能使用默认参数值来创建比较器 type TMyClass class class function MyComparer AParam Boolean False ICo
  • 在 Laravel Eloquent 模型中创建动态命名的变体

    我有一个日期字段列表 所有这些字段的变异器都有相同的逻辑 我想将此功能提取到一个特征中 以便将来我需要的只是在模型中创建一个日期字段数组并使用该特征 像这样的事情 foreach dates as date dateCamelCase th
  • 从 Maven 运行 Gradle

    我正在寻找一些 Maven 的 Gradle 执行器插件 类似于 Maven ant run 插件 谷歌没有提供帮助 难道这样的插件不存在吗 我应该尝试这个 https github com if6was9 gradle maven plu
  • 实现docker容器按需启动

    情况 大量重型 docker 容器会在一段时间内定期受到攻击 然后在较长时间内保持未使用状态 希望 按需启动容器 就像 systemd 通过套接字激活启动容器一样 并在空闲一段时间后停止它们 不visible最终用户的停机时间 Option
  • 忘记是行不通的

    如果我尝试从此集合中删除某个项目 examples Example where example data example gt get 通过做 examples gt forget 20 它不会从集合中删除该项目 我仍然取回原来存在的所有项
  • 如何将自定义 Java 类转换为 Spark 数据集

    我无法找到将测试对象列表转换为 Spark 中的数据集的方法 这是我的课 public class Test public String a public String b public Test String a String b thi
  • Brave/Chrome 浏览器中图像周围出现不需要的边框半径角

    我尝试在容器内显示一个简单的图像border radius 5px 但角落处似乎有一个细边框的轮廓 您需要仔细查看下图 如何避免这些角边框 cover margin 1em padding 1em image wrapper height
  • 如何从 Android 删除 Firestore 集合

    Issue 我正在寻找一个临时解决方案来从客户端删除集合以进行概念证明 我最终将按照建议将其重构到服务器上 我添加了删除所有特定 Firestore 用户帐户信息的功能 包括他们在应用程序中保存的内容集合 根据Firestore 文档 ht
  • 标识符 int 不是 struct SOCKET_LOG_DATA 的直接成员

    当我编译以下结构时 typedef PACKED struct PACKED SUFFIX SOCKET LOG DATA typedef PACKED union PACKED SUFFIX PACKED struct PACKED SU
  • Swift 中的条件删除集合的最后一个元素

    我正在尝试删除 从字符串数组的后面直到最后一项包含一些文本 但我的实现没有实现 到目前为止我的实现 var array A B C D while true if array last array last array removeLast
  • Django i18n 不起作用

    我正在尝试为我的项目激活不同的语言 现在有英语和西班牙语 我将描述我遵循的所有步骤 首先 我将自己置于要翻译的目录中 或者更好地说 所有 trans 标签都是 cd media templates landing mkdir locale
  • Javascript e.preventDefault();不适用于提交()

    我在使用 javascript 提交表单时遇到问题submit 现场录制 https jsfiddle net 98sm3f3t https jsfiddle net 98sm3f3t HTML