我通过调试发现我不应该命名任何 Form Elements name="submit"
,但即使在搜索之后我也没有找到任何好的解释为什么?
请参见下面的简单代码示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<form action="javascript:alert('submitted');" method="post" id="test-form">
<label>Name</label>
<input type="text" name="name-field" value="" />
<input type="submit" name="submit" value="Submit Button" /> <!-- name should not be "submit" -->
<p><a href="javascript: document.getElementById('test-form').submit();">Submit Link</a></p>
</form>
</body>
</html>
- 如果您在任何表单元素上按 Enter 或单击 提交按钮,它将起作用。
如果你点击提交链接,将会有错误
未处理的错误:'document.getElementById('test-form').submit' 不是函数
如果您只是将您的提交按钮重命名为除此之外的任何其他名称name="submit"
(即使您只是将其中的某些部分大写)或只是删除该name="submit"
属性,那么提交按钮和提交链接都将起作用。
我在最新版本的 Internet Explorer、Firefox、Opera、Chrome 和 Safari 中进行了尝试。他们在这方面都有一致的行为。
正如您在我的代码示例中看到的,没有 jQuery 或任何其他 JavaScript 库的参与。
我将不胜感激。谢谢