所以我遇到了一个奇怪的问题?
我想抓住一个表单的id:
我想抓住一个表单的id:
<form id="test"> <input name="id" type="hidden" value/> </form>
但是运行document.getElementById(“test”).id不按预期方式返回测试,而是返回name =“id”的输入.任何人都知道这里发生了什么?
这是一个复制问题的小提琴 – > http://jsfiddle.net/jascbbfu/
解决方法
表单控件名称用于创建引用该控件的表单的命名属性.所以你有
<form id="test"> <input name="id"> </form>
那么表单的id属性将被分配给一个名为id的输入元素的引用.不应该为表单控件提供与标准表单属性相同的名称,例如.在下面的:
<form> <input name="submit"> </form>
因为form.submit引用输入而不是方法,所以不可能调用表单的提交方法.
如其他答案所述,您可以将名称更改为不与标准表单属性冲突的内容,也可以使用getAttribute.第一个解决方案是首选,因为它也可能导致更适合的表单控件名称,并避免使用getAttribute.