我正在尝试提交 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(使用前将#替换为@)