js函数名与form表单元素同名冲突的问题


Posted in Javascript onMarch 07, 2014

今天在导出Excel的时候用了Form 表单的input hidden 来区分导出和搜索。开始的时候js中的onClick事件的函数名 和 hidden 中的 id 命名一样。结果导致报错:调用函数的那一行对象不支持此属性。

找了很长时间都找不出原因,开始的时候一直以为是写错了某个字母,才发现js函数根本没有执行。后来没有办法直接调用了别的函数,发现就有用了,认为是函数名的原因,改了函数名才有用了。然后再将input中的id改成很函数名一样,又出现报错了。在没有下例验证之前,还一直以为是ThinkPHP模板解析的bug。因为有了如下示例,所以证实是js中的函数名不可以和元素中的id相同。

如下例:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>ceshi</title>
<script>
function a()
{
 document.getElementById('a').value="test";
 alert(document.getElementById('a').value);
 return false;
}
</script>
</head>
<body>
<form>
<input type="hidden" id="a" name="a" value="" />
<input type="button" value="excel" onClick="javascript:a();"/>
</form>
</body>
</html>

网页错误详细信息

用户代理: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; CIBA; .NET CLR 2.0.50727)
时间戳: Thu, 27 Jan 2011 13:30:09 UTC

消息: 对象不支持此属性或方法
行: 17
字符: 1
代码: 0
URI: file:///C:/Documents%20and%20Settings/Administrator/桌面/test.html

Javascript 相关文章推荐
原生Js实现按的数据源均分时间点幻灯片效果(已封装)
Dec 28 Javascript
解析jquery中的ajax缓存问题
Dec 19 Javascript
js 判断控件获得焦点的示例代码
Mar 04 Javascript
滚动条响应鼠标滑轮事件实现上下滚动的js代码
Jun 30 Javascript
WEB前端设计师常用工具集锦
Dec 09 Javascript
JS获取下拉框显示值和判断单选按钮的方法
Jul 09 Javascript
jquery UI Datepicker时间控件的使用方法(基础版)
Nov 07 Javascript
JavaScript与HTML的结合方法详解
Nov 23 Javascript
深入剖析JavaScript面向对象编程
Jul 12 Javascript
Bootstrap一款超好用的前端框架
Sep 25 Javascript
vue组件实现可搜索下拉框扩展
Oct 23 Javascript
vue获取data数据改变前后的值方法
Nov 07 Javascript
javascript(js)的小数点乘法除法问题详解
Mar 07 #Javascript
jquery中常用的函数和属性详细解析
Mar 07 #Javascript
jquery 操作两个select实现值之间的互相传递
Mar 07 #Javascript
JS判断文本框内容改变事件的简单实例
Mar 07 #Javascript
使用js判断TextBox控件值改变然后出发事件
Mar 07 #Javascript
jquery1.10给新增元素绑定事件的方法
Mar 06 #Javascript
jquery单行文字向上滚动效果示例
Mar 06 #Javascript
You might like
PHP 选项及相关信息函数库
2006/12/04 PHP
php中XMLHttpRequest(Ajax)不能设置自定义的Referer的解决方法
2011/11/26 PHP
免费的ip数据库淘宝IP地址库简介和PHP调用实例
2014/04/08 PHP
PHP中设置一个严格30分钟过期Session面试题的4种答案
2014/07/30 PHP
php+mysqli事务控制实现银行转账实例
2015/01/29 PHP
学习php设计模式 php实现备忘录模式(Memento)
2015/12/09 PHP
php版微信小店调用api示例代码
2016/11/12 PHP
php输出含有“#”字符串的方法
2017/01/18 PHP
监控 url fragment变化的js代码
2010/04/19 Javascript
safari,opera嵌入iframe页面cookie读取问题解决方法
2010/06/23 Javascript
javascript中的关于类型转换的性能优化
2010/12/14 Javascript
Jquery.Form 异步提交表单的简单实例
2014/03/03 Javascript
javascript的函数作用域
2014/11/12 Javascript
JS实现在网页中弹出一个输入框的方法
2015/03/03 Javascript
js常用的继承--组合式继承
2017/03/06 Javascript
jQuery Chosen通用初始化
2017/03/07 Javascript
js自定义瀑布流布局插件
2017/05/16 Javascript
如何封装了一个vue移动端下拉加载下一页数据的组件
2019/01/06 Javascript
搭建一个Koa后端项目脚手架的方法步骤
2019/05/30 Javascript
详解Vue的watch中的immediate与watch是什么意思
2019/12/30 Javascript
vue列表数据发生变化指令没有更新问题及解决方法
2020/01/16 Javascript
vue-cli+webpack项目打包到服务器后,ttf字体找不到的解决操作
2020/08/28 Javascript
Using Django with GAE Python 后台抓取多个网站的页面全文
2016/02/17 Python
Python实现可设置持续运行时间、线程数及时间间隔的多线程异步post请求功能
2018/01/11 Python
PYcharm 激活方法(推荐)
2020/03/23 Python
python logging模块的使用详解
2020/10/23 Python
html5跨域通讯之postMessage的用法总结
2013/11/07 HTML / CSS
EVE LOM英国官网:全世界最好的洁面膏
2017/10/30 全球购物
EJB3推出JPA的原因
2013/10/16 面试题
毕业生自荐书
2014/02/03 职场文书
高中综合实践活动总结
2014/07/07 职场文书
环境保护建议书
2014/08/26 职场文书
庆祝教师节标语
2014/10/09 职场文书
学校德育工作总结2015
2015/05/11 职场文书
三好学生竞选稿
2015/11/21 职场文书
使用Python的开发框架Brownie部署以太坊智能合约
2021/05/28 Python