当提交按钮的name属性正好“提交”时,我无法在提交表单时提交。
以下是代码:
<input onclick="checkForm(document.form_29) && document.form_29.submit();" value="Submit" name="submit" type="button">
请注意,我们没有使用标准输入类型的“submit”,而是使用了一个输入类型的“button”,在验证脚本(checkForm)返回true之后,JavaScript用于提交表单。
奇怪的是,当且仅当name属性为“submit”时,这将不起作用。该问题区分大小写,因此以下(以及任何其他命名,包括无名称属性)将起作用:
<input onclick="checkForm(document.form_29) && document.form_29.submit();" value="Submit" name="Submit" type="button">
我一直在查看W3C规范中提到的保留名称,但我找不到任何东西。我怀疑我在这里忽略了一些非常明显的东西,所以我希望你们中的一些人能看到我无法看到的东西。
感谢您的帮助。
答案 0 :(得分:14)
您遇到问题,因为name
submit
覆盖了form.submit()
的{{1}}函数引用,而<form>
引用了该按钮,而不是DOM form_29.submit
函数。