剛剛查一個 javascript 的 bug ,原因是 document.form1.submit(); 不能動作。出現的錯誤訊息是「物件不支援此屬性或方法」。
這種 document.form1.submit(); 的 javascript 是再平常不過的指令,怎麼可能不支援呢?
後來才發現,是美編把 submit 的按鈕取名叫 submit,也就是在 HTML 裡面有一行是:
<input type="submit" name="submit" value="submit">
這樣 document.form1.submit(); 就無法執行了,因為 document.form1.submit 已經變成那個按鈕的物件了,自然 submit 的 method 也無法動作。
因為自己不會犯這種用保留字來取 HTML Tag name 的錯誤,不過遇到對程式不熟的美編,還是會遇到這種狀況,只能自求多福了。
12 comments On [Javascript] 請勿用保留字來取 HTML 的標籤名
非常感谢,我也遇到了同样的问题,以后要留心了。
我也遇到一樣的問題
真是太感激了
非常感谢,我在这儿找到了solution…
非常谢谢,我也在你这里找到了solution,祝福你顺利!
感恩!感恩!!!
就覺得這個問題在哪裡看過,沒想到是 Neo 大這裡 … 感謝您提醒我 ^^ 有空要回來您這裡多翻翻舊文。
http://blog.yam.com/jaceju/archives/1455092.html
jaceju:
哈哈,這個問題其實在更早之前我就有遇過了,不過都是從設計人員那邊拿來的設計稿一執行之後才發現原來是這麼回事。
後來寫開始 blog 的時候又歷史重演,也就順便提出來,沒想到遇到同樣問題的人還真多。^^
不過事情沒發生在自己身上大概也不會記的太清楚,所以這也是 Google 存在的價值,呵呵。
是呀,沒發生在自己身上時,就不會把它當成一回事,更不可能去記它。問題是…就算發生在我身上,我還是可能會把它給忘了 😛 這個就是我為什麼要把這些東西記到 Blog 的原因。
說實在的,用 Google 搜了之後,說不定會發現自己早就已經解決過了。
不說也不知道,現在解決了問題,十分謝謝。
我也遇到一樣的問題,
在你這裡找到了solution,
現在解決了問題,
真是太感激了!
沒想到遇到同樣問題的人還真多…
非常感谢 ,感恩!
有空要回來您這裡多翻翻舊文!
以上程式也會造成同樣的錯誤,原因是按鈕的名稱和javascript funtion名稱相同。
雖然沒有遇到,但今天剛好想到這篇