javascript - 遇到一个很扯淡的问题,分享一下,顺便求一下原理
阿神
阿神 2017-04-10 14:38:27
0
4
702
<input id="submit" ...>

如果我设置id为submit的时候,form.submit()时会出现图片中这种问题

其它命名则正确进行。
这是什么原因呢?

阿神
阿神

闭关修行中......

全員に返信(4)
阿神

因为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, 可以通过indexor id or name来引用这些nodes。 Interface HTMLCollection。

最后, 到底为什么是先查询到form.submit接着调用他,比调用form这个object的submitmethod优先,我就不清楚了。

いいねを押す +0
Ty80

应该是把id命名和submit方法冲突之后,将submit认作处理成id;

いいねを押す +0
大家讲道理

为什么要给submit加ID呢?用form来确定元素就行了呀。

いいねを押す +0
小葫芦

因为其实你可以通过 form[elemId] 来访问到表单中的某个加了 id 属性的元素

所以你就坑了……

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート