javascript - 当按钮名称为 "submit"时,表单提交按钮将不会提交

标签 javascript html forms button submit

<分区>

当提交按钮的名称属性恰好是“提交”时,我无法提交表单。

代码如下:

<input onclick="checkForm(document.form_29) && document.form_29.submit();" value="Submit" name="submit" type="button">

请注意,我们没有使用标准输入类型“提交”,而是使用“按钮”输入类型,在验证脚本 (checkForm) 返回 true 后使用 JavaScript 提交表单。

奇怪的是,当且仅当名称属性为“提交”时,这将不起作用。该问题区分大小写,因此以下(以及任何其他命名,包括没有名称属性)将起作用:

<input onclick="checkForm(document.form_29) && document.form_29.submit();" value="Submit" name="Submit" type="button">

我一直在查看 W3C 规范中是否提到了保留名称,但我找不到任何内容。我怀疑我在这里忽略了一些非常明显的东西,所以我希望你们中的一些人能看到我看不到的东西。

感谢您的帮助。

最佳答案

您遇到问题是因为 name正在submit正在覆盖 form.submit() <form> 的功能引用, 而不是 form_29.submit指的是那个按钮,而不是 DOM submit()功能。

关于javascript - 当按钮名称为 "submit"时,表单提交按钮将不会提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3571328/

相关文章:

javascript - 如何使用不同的选择器简化重复的 jQuery 代码

javascript - 如何从 MYSQL 反序列化查询结果?

javascript - 如何为 DOJO 中的特定 url 模拟 dojo.data.ItemFileReadStore?

html - @keyframes 没有以预期的方式工作 CSS

javascript - 提交表单而不重定向

php - 从下拉菜单将数据插入数据库 - PHP MYSQL

java - 日期应该如何发布到java?

php - fwrite 的 777 权限是否危险?

javascript - 表单提交后停留在同一页面

javascript - jQuery 可重用元素和子访问