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 相关文章推荐
通过 Dom 方法提高 innerHTML 性能
Mar 26 Javascript
防止页面被iframe(兼容IE,Firefox火狐)
Jul 04 Javascript
再论Javascript的类继承
Mar 05 Javascript
基于jquery DOM写的类似微博发布的效果
Oct 20 Javascript
form表单只提交数据而不进行页面跳转的解决方案
Sep 18 Javascript
js截取字符串的两种方法及区别详解
Nov 05 Javascript
node.js中的fs.chmodSync方法使用说明
Dec 18 Javascript
JS快速实现移动端拼图游戏
Sep 05 Javascript
Vue.js之slot深度复制详解
Mar 10 Javascript
vue2.x select2 指令封装详解
Oct 12 Javascript
每天学点Vue源码之vm.$mount挂载函数
Mar 11 Javascript
JavaScript 引用类型实例详解【数组、对象、严格模式等】
May 13 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对象转换为数组函数(递归方法)
2012/02/04 PHP
提高php运行速度的一些小技巧分享
2012/07/03 PHP
从刷票了解获得客户端IP的方法
2015/09/21 PHP
实例讲解yii2.0在php命令行中运行的步骤
2015/12/01 PHP
PHP 验证身份证是否合法的函数
2017/02/09 PHP
PHP中Static(静态)关键字功能与用法实例分析
2019/04/05 PHP
使用laravel指定日志文件记录任意日志
2019/10/17 PHP
JavaScript 入门·JavaScript 具有全范围的运算符
2007/10/01 Javascript
jQuery学习笔记(2)--用jquery实现各种模态提示框代码及项目构架
2013/04/08 Javascript
javascript的内存管理详解
2013/08/07 Javascript
flash+jQuery实现可关闭及重复播放的压顶广告
2015/04/15 Javascript
50 个 jQuery 插件可将你的网站带到另外一个高度
2016/04/26 Javascript
Bootstrap table的使用方法
2016/11/02 Javascript
基于Vue2.0的分页组件
2017/03/16 Javascript
JS模拟实现ECMAScript5新增的数组方法
2017/03/20 Javascript
angularJs的ng-class切换class
2017/06/23 Javascript
JavaScript数组的5种迭代方法
2017/09/29 Javascript
详解vue中移动端自适应方案
2019/05/05 Javascript
vant 时间选择器--开始时间和结束时间实例
2020/11/04 Javascript
[01:04:01]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS DT第一场
2014/05/24 DOTA
分析用Python脚本关闭文件操作的机制
2015/06/28 Python
Python Logging 日志记录入门学习
2018/06/02 Python
NLTK 3.2.4 环境搭建教程
2018/09/19 Python
python修改linux中文件(文件夹)的权限属性操作
2020/03/05 Python
python 使用cx-freeze打包程序的实现
2020/03/14 Python
简单介绍一下pyinstaller打包以及安全性的实现
2020/06/02 Python
python中使用asyncio实现异步IO实例分析
2021/02/26 Python
基于CSS3实现的几个小loading效果
2018/09/27 HTML / CSS
详解HTML5中表单验证的8种方法介绍
2016/12/19 HTML / CSS
护理学专业推荐信
2013/12/03 职场文书
售后服务承诺书范文
2014/03/26 职场文书
施工安全生产承诺书
2014/05/23 职场文书
《周恩来的四个昼夜》观后思想汇报范文两篇
2014/09/10 职场文书
上课说话检讨书
2015/01/27 职场文书
感谢师恩主题班会
2015/08/17 职场文书
全家福照片寄语怎么写?
2019/04/02 职场文书