当js中出现 a() is not a function

转载地址:http://blog.csdn.net/badyflf/article/details/8121483,作者是个很刨根问底的人

[javascript]  view plain copy
  1. js脚本拿出来和<input/>测试是正确的:  
  2.   
  3. <script src="../js/jquery-1.4.3.js"></script>  
  4. <script>  
  5.   function email(){    
  6.          alert("====");  
  7.      }  
  8. </script>  

但火狐的错误控制台却报异常:

email() is not a function

明明是一个函数,但火狐控制台真J。。

由于JSP文件是别人写好直接使用的,所以,来回测试,折腾!最后,没办法,一段一段代码删除测试,才发现。有form和没form的情况下有区别!

一、将<input name="email" type="text" id="txtEmail" class="text_input" οnblur="emailFunc()"/>
                        
定义在Form标签里,则有异常,没输出"===="

二、去掉form标签,无异常,有输出"===="

可是为什么呢? input标签是必须要在form标签里定义使用的,折腾,继续折腾,有网也不百度,折腾了1个多小时,只好百度看看有没有方法。

找到了一个方法:

http://hi.baidu.com/shuaixiaoxin/item/df3d15383d4c8a8ef5e4ad97

内容是:

.在表单中元素的name和id属性中有设置为和此元素调用js方法的方法名相同时,也会报这种js错误 

让js中的function名和表单form中的input的name值不同否则容易出错

也就是在有form和没有form会出现js错误


看一回,没看明白,再看,原来是指:

在form标签里,若<input>标签定义的事件js函数名称-email() 和  name / id对应的属性值一致时,会报这种js错误

解决:

将js的函数名称email()变更为:emailFunc()



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值