IE中提示不支持属性或方法 博客分类: js技术开发与应用 htmlJS不支持属性或方法错误不执行
程序员文章站
2024-02-13 08:51:04
...
【1问题】 IE中提示不支持属性或方法,但检查后没有发现语法等问题。
【2示例】代码示例:
【3原因】:
Js函数名不能和html表单域的name或者id相同(当然这句话也可以反着说……),这是因为html中的每个元素都会在dom中建立一个相应的对象,在表单域中的name属性就是这个对象的唯一标识,form可以直接通过name来调用相应的form对象,在同一form中,各个表单域又可以直接通过各自的name来调用各自的对象,在js中,函数也是对象,每个方法或者过程的方法名就相当于它的name属性。在<input>的onclick方法中指定了要调用的对象名,于是dom在它内部寻找,按顺序先找到了input,但是input本身不是一个onclick函数,所以会出现错误。
【4解决办法】:It's so easy 。换个名呗。
【2示例】代码示例:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <script type="text/javascript"> function test() { alert("test"); } </script> </head> <body> <form> <input type="button" onClick="test()" value="getPath" id="test" name="test" /> </form> </body> </html>
【3原因】:
Js函数名不能和html表单域的name或者id相同(当然这句话也可以反着说……),这是因为html中的每个元素都会在dom中建立一个相应的对象,在表单域中的name属性就是这个对象的唯一标识,form可以直接通过name来调用相应的form对象,在同一form中,各个表单域又可以直接通过各自的name来调用各自的对象,在js中,函数也是对象,每个方法或者过程的方法名就相当于它的name属性。在<input>的onclick方法中指定了要调用的对象名,于是dom在它内部寻找,按顺序先找到了input,但是input本身不是一个onclick函数,所以会出现错误。
【4解决办法】:It's so easy 。换个名呗。