這個不僅僅是IE6的錯,而是所有IE的錯!!
IE有一個特別隨意的功能,就是能夠通過Element的name來操作一個Element,有些人覺得這個功能很方便,實際它不僅不符合標準,還會導致IE自己變得莫名其妙。
假如你的Form有一個提交按鈕的name="submit",那么,很遺憾,你這個form無論如何都不能通過Javascript來提交,只要你一調用了這個form的submit()方法,IE就會告訴你它不支持這個方法!這不是搞笑嗎?哪個瀏覽器會不支持form的submit()方法?雖然IE不標準,也不至于這樣吧?對不起,就是這樣。
因為當你調用form的方法submit(),它首先想到的是你的提交按鈕!
theForm.submit()
這個語句在IE看來并不是調用theForm的submit方法,而是調用了名字為submit的提交按鈕!如果你在某個元素對象后面加個括號,會有什么效果?當然就是出錯。在IE的獨特視角下,上面這個語句與下面這個語句的效果一樣:
(theForm.submit)();
前一個括號代表了名稱為submit的按鈕對象,后面那個括號就無法理解了,所以IE告訴你不支持這個方法。
IE整個家族都是如此的丑陋!