今天工作在用js的過程中出現了一個問題,老是報“對象不支持此屬性或方法”的錯誤,費了一個多小時!經過百度終於解決!原來是下列這句話出錯啦!
<input type="text" id="editstate" onBlur="editstate(this)" />
就是id="editstate" id的名字和onBlur="editstate(this)" 要觸發的動作的名字重了,都是editstate!解決了心情暢快呀!
下面就把那篇文章貼出來,供大家學習,可別再像我這樣浪費了那么長時間呀!
為什么JS報不支持此屬性或方法錯
為了准備今天的BPIO企業生產力解決,昨天晚上幾乎趕了一個通宵才把企業搜索引擎的解決方案的demo搞定.在最后一次發布的緊要關頭突然報出一個JS錯誤.(以前沒遇到過這錯誤,比較迷茫..哎!@%$@)
經過一個小時的分析后來總結出結論.記下來希望以后在碰到同類問題時注意.別再耗一個小時了.
結論如下:
出現“javascript 腳本‘不支持此屬性或方法’錯誤”主要有以下幾種原因:
1、方法對應的js函數未定義,如onclick="select();"中,select()沒有定義,或沒有把相應的.js文件包含進來,包含的方法:<script language="javascript" src="xxxx.js"></script>。
2、在html中的表單中出現這個問題時,可能是元素的名稱和函數的名稱相同。這時aspX解釋時,會進行把函數當成是元素名,然后認為后面的函數的括號是未定義的函數。如:
<script language="javascript">
<!--
function ffff()
... ...
end function
-->
</script>
<input name="ffff" type="button" value="重置密碼" onclick="ffff();">
上面這個語句通常就會報“對象不支持此屬性或方法”的錯誤。這時,只需要把name="ffff"改成別的名字或把函數改成別的名字就正常了
