84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
<input id="submit" ...>
如果我设置id为submit的时候,form.submit()时会出现图片中这种问题 其它命名则正确进行。 这是什么原因呢?
闭关修行中......
因为form.submit就是<input id="submit">这个object, 所以error是object is not a function。 可以test一下: console.log(form.submit);。
form.submit
<input id="submit">
object is not a function
console.log(form.submit);
为什么这样呢? 因为form是一个HTMLCollection object, 可以从Interface HTMLDocument了解到。
form
而HTMLCollection object是a list of nodes, 可以通过indexor id or name来引用这些nodes。 Interface HTMLCollection。
index
id
name
最后, 到底为什么是先查询到form.submit接着调用他,比调用form这个object的submitmethod优先,我就不清楚了。
submit
应该是把id命名和submit方法冲突之后,将submit认作处理成id;
为什么要给submit加ID呢?用form来确定元素就行了呀。
因为其实你可以通过 form[elemId] 来访问到表单中的某个加了 id 属性的元素
form[elemId]
所以你就坑了……
因为
form.submit
就是<input id="submit">
这个object, 所以error是object is not a function
。 可以test一下:console.log(form.submit);
。为什么这样呢?
因为
form
是一个HTMLCollection object, 可以从Interface HTMLDocument了解到。而HTMLCollection object是a list of nodes, 可以通过
index
orid
orname
来引用这些nodes。 Interface HTMLCollection。最后, 到底为什么是先查询到
form.submit
接着调用他,比调用form
这个object的submit
method优先,我就不清楚了。应该是把id命名和submit方法冲突之后,将submit认作处理成id;
为什么要给submit加ID呢?用form来确定元素就行了呀。
因为其实你可以通过
form[elemId]
来访问到表单中的某个加了id
属性的元素所以你就坑了……