今天工作在用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"改成别的名字或把函数改成别的名字就正常了