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 相关文章推荐
JQuery+CSS提示框实现思路及代码(纯手工打造)
May 07 Javascript
JS实现时间格式化的方式汇总
Oct 16 Javascript
Vue.js组件使用开发实例教程
Nov 01 Javascript
JS中用childNodes获取子元素换行会产生一个子元素
Dec 08 Javascript
深入理解Javascript中的valueOf与toString
Jan 04 Javascript
JS 实现计算器详解及实例代码(一)
Jan 08 Javascript
JS实现的走迷宫小游戏完整实例
Jul 19 Javascript
vue better scroll 无法滚动的解决方法
Jun 07 Javascript
nuxt.js 缓存实践
Jun 25 Javascript
vue2.x数组劫持原理的实现
Apr 19 Javascript
JS实现canvas简单小画板功能
Jun 23 Javascript
解决element-ui的下拉框有值却无法选中的情况
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代码质量36计
2012/09/05 PHP
thinkphp5 migrate数据库迁移工具
2018/02/20 PHP
php json转换相关知识(小结)
2018/12/21 PHP
laravel框架 laravel-admin上传图片到oss的方法
2019/10/13 PHP
Javascript remove 自定义数组删除方法
2009/10/20 Javascript
javascript中常用编程知识
2013/04/08 Javascript
JS实现滑动菜单效果代码(包括Tab,选项卡,横向等效果)
2015/09/24 Javascript
使用nodejs中httpProxy代理时候出现404异常的解决方法
2016/08/15 NodeJs
AngularJS实现按钮提示与点击变色效果
2016/09/07 Javascript
JS简单实现浮动窗口效果示例
2016/09/07 Javascript
js for循环倒序输出数组元素的实例
2017/03/01 Javascript
微信小程序scroll-view实现横向滚动和上拉加载示例
2017/03/06 Javascript
Vue.js展示AJAX数据简单示例讲解
2017/03/29 Javascript
Angualrjs 表单验证的两种方式(失去焦点验证和点击提交验证)
2017/05/09 Javascript
详解angular中的作用域及继承
2017/05/31 Javascript
vue 里面使用axios 和封装的示例代码
2017/09/01 Javascript
jquery ztree实现右键收藏功能
2017/11/20 jQuery
swiper在angularjs中使用循环轮播失效的解决方法
2018/09/27 Javascript
layui实现把数据表格时间戳转换为时间格式的例子
2019/09/12 Javascript
聊聊Vue中provide/inject的应用详解
2019/11/10 Javascript
openLayer4实现动态改变标注图标
2020/08/17 Javascript
[05:26]2014DOTA2西雅图国际邀请赛 iG战队巡礼
2014/07/07 DOTA
python 图片验证码代码分享
2012/07/04 Python
python将人民币转换大写的脚本代码
2013/02/10 Python
详解Python中的四种队列
2018/05/21 Python
Django框架之DRF 基于mixins来封装的视图详解
2019/07/23 Python
python实现操作文件(文件夹)
2019/10/31 Python
python2.7使用scapy发送syn实例
2020/05/05 Python
美国知名女性服饰品牌:New York & Company
2017/03/23 全球购物
奥兰多迪士尼门票折扣:Undercover Tourist
2018/07/09 全球购物
运动会稿件200字
2014/02/07 职场文书
年度考核自我鉴定
2014/03/19 职场文书
党支部对转正的意见
2015/06/02 职场文书
正规欠条模板
2015/07/03 职场文书
python3.9之你应该知道的新特性详解
2021/04/29 Python
golang中的struct操作
2021/11/11 Golang