2014-03-28

document.form1.submit(); 不能動作

http://www.neo.com.tw/archives/000312.html 

[Javascript] 請勿用保留字來取 HTML 的標籤名 

剛剛查一個 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 的錯誤,不過遇到對程式不熟的美工,還是會遇到這種狀況,只能自求多福了。

沒有留言: