为什么 HTML 表单不能通过名称为“submit”的按钮提交?

2023-12-29

我正在尝试提交 HTML 表单,

<form action="go.php">
    <input id="I" type="button" name="submit" value="Go" onclick="this.form.submit()"/>
</form>

上面的代码失败了,但是如果我将按钮的名称更改为其他名称,例如,

<form action="go.php">
    <input id="I" type="button" name="bt" value="Go" onclick="this.form.submit()"/>
</form>

有用。为什么?这两者有什么区别?


表单中具有“名称”属性的交互元素在 DOM 图中与表单 DOM 节点相关联,作为该节点的属性。属性名称取自交互元素上的“name”属性。

因此,如果您通过开发人员控制台查看表单节点,您将看到与输入元素、按钮、文本区域、选择等相对应的属性。因此,给出:

<form id=myform>
  <input name=sometext value="hello world">
</form>

那么这可以在 JavaScript 中工作:

var f = document.getElementById("myform");
alert(f.sometext.value); // "hello world"

当您使用与表单 DOM 节点上其他有用属性(例如“提交”)冲突的名称时,这种奇怪的行为会导致问题。通过名称“submit”对按钮的引用已覆盖对表单节点“诞生”时存在的“submit”函数的引用。

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

为什么 HTML 表单不能通过名称为“submit”的按钮提交? 的相关文章

随机推荐

  • 使用 QAction 而不添加到菜单(或工具栏)

    我正在尝试开发一个具有非常模块化的命令方法的应用程序 并且认为这会很好 因为我正在使用 pyqt 使用 QAction 将快捷方式绑定到命令 但是 似乎操作快捷方式仅在操作在菜单或工具栏中可见时才起作用 有谁知道如何在不可见的情况下让此操作
  • Swift 和 CoreData 使用自定义类作为可转换对象

    我正在尝试使用带有 swift 和 CoreData 的自定义类作为可转换对象 我一直在浪费时间试图弄清楚但无法解决 我不断收到两个错误 无法将属性标记为 NSManaged 因为它的类型无法在 Objective C 中表示 并且属性无法
  • 捕获字符串格式中的 **vars() 模式

    我经常发现自己使用以下模式进行字符串格式化 a 3 b foo c dict mykey myval prints a is 3 b is foo mykey is myval print a is a b is b mykey is c
  • 如何调用 SQLitePCL.Batteries.Init()?

    我正在尝试为我的应用程序创建 SQLite 数据库 但遇到了此错误 System Exception 您需要调用 SQLitePCL raw SetProvider 如果 您正在使用捆绑包 这是通过调用完成的 SQLitePCL Batte
  • 如何使用 Firefox 扩展上传二进制内容?

    在我的 Firefox 扩展中 我下载了该文件 然后该扩展应该上传它 我执行以下操作 downloading file var persist Components classes mozilla org embedding browser
  • AppDomain.CurrentDomain.AssemblyResolve 请求 .resources 程序集?

    使用代码如何将附属程序集嵌入到 EXE 文件中 https stackoverflow com questions 1453755 how to embed a satellite assembly into the exe file 14
  • 多列透视

    我正在努力根据交易数据表生成一个枢轴 我的数据表如下 Date Store Customer Value 01 12 15 StoreA Cust1 3 80 01 12 15 StoreB Cust2 2 40 01 12 15 Stor
  • 如何使用 MagicalRecord 设置 Core Data 轻量级迁移?

    我在尝试使用 MagicalRecord 设置核心数据的轻量级迁移时遇到了困难 我使用 Google 和 SO 查看了有关此主题的所有帖子 我明白如何持久存储协调器有效以及我尝试进行的设置也可以执行的操作 这是我的代码 AppDelegat
  • 在休眠状态下禁用ONLY_FULL_GROUP_BY

    我需要在休眠中禁用 ONLY FULL GROUP BY 这是我当前的会话工厂 我不确定如何在此指定 sql mode
  • 使用延迟链循环进行多个 ajax 调用

    有多个问题已经有关于此问题的答案 但到目前为止 在这种设置下所有问题都不起作用 function login u p console log 1 return post url u p function out console log 3
  • 在 IIS7 的 web.config 中设置集成模式

    在 IIS7 中 您现在拥有集成模式和经典模式 是否可以使用 web config 强制站点在集成模式下运行 而无需访问 IIS7 我问的原因是我最近注册了 Mosso 需要以集成模式而不是经典模式运行我的网站 我知道我可以打电话给他们 也
  • 如何将 WebDAV 合并到我的 iPhone 应用程序中?

    我想将 WebDAV 添加到我的 iPhone 应用程序中 实现此功能的最佳方法 库是什么 WebDAV 只是 HTTP 的扩展 因此 您可以使用 iPhone 上可用的任何现有 HTTP API 来实现 WebDAV 假设您的需求不需要对
  • 作为语言基准的琐碎数学问题

    为什么人们坚持使用琐碎的数学问题 例如在斐波那契数列中查找数字 作为语言基准 这些通常不会针对相对论速度进行优化吗 首当其冲的瓶颈通常不是在 I O 系统 API 调用 字符串和结构操作 处理大量数据 抽象面向对象的东西等方面吗 这是对过去
  • 如何在 ido 模式 (Emacs) 下更改驱动器号?

    我在 Windows 上使用 Emacs 我的默认文件夹是c home 但我想编辑我的文件d 在ido模式下怎么做 我试过 但这让我陷入了c Currently I use C f change back to normal find fi
  • 如何实时验证和修正Excel中的数据?

    我知道 Excel 具有数据验证功能 但是有没有办法自动为用户应用更改 而不是提示他们存在问题 例如 我们有一个通用电子表格模板供内部系统添加项目 在第一列中 对于 项目编号 不能有任何非法字符 因此 如果用户在 A1 中输入 AN XR1
  • 在Go中,如何确定数组中切片的偏移量?

    我知道a1是数组中的一个切片a 是否可以确定偏移量a1相对于 的开始a 基本上模拟指针算术 a int8 3 1 4 1 5 9 2 6 5 3 5 8 9 7 9 3 2 a1 a 3 14 fmt Println a1 has leng
  • 如何在 Amazon EC2 中上传 Tomcat 的库

    我需要将 lib 上传到我的 Tomcat 文件夹 在 EC2 实例中 我一直以来所做的就是 scp r i home path to key key pem home path to file file jar ec2 user my a
  • DDD 以及 Getters 和 Setters 的使用

    我读过一些关于 Getters 和 Setters 的使用的文章 帖子 以及它们如何帮助破坏域模型对象中封装的目的 我理解不使用 setter 背后的逻辑 您允许客户端代码在对象业务规则和不变量的上下文之外操作该对象的属性 现在这位校长仍然
  • JMS 和 AMQP - RabbitMQ

    我试图了解什么是 JMS 以及它如何与 AMQP 术语相关联 我知道JMS是一个API AMQP是一个协议 这是我的假设 以及问题 RabbitMQ使用AMQP协议 而不是实现AMQP协议 Java客户端需要使用AMQP协议客户端库来连接
  • 为什么 HTML 表单不能通过名称为“submit”的按钮提交?

    我正在尝试提交 HTML 表单