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 实现打印网页中定义的部分内容的代码
Apr 01 Javascript
Node.js模拟浏览器文件上传示例
Mar 26 Javascript
jQuery对象的length属性用法实例
Dec 27 Javascript
jQuery实现带动画效果的多级下拉菜单代码
Sep 08 Javascript
JavaScript 数组中最大最小值
Jun 05 Javascript
Vue组件选项props实例详解
Aug 18 Javascript
详解js的视频和音频采集
Aug 09 Javascript
JS字符串与二进制的相互转化实例代码详解
Jun 28 Javascript
js+HTML5 canvas 实现简单的加载条(进度条)功能示例
Jul 16 Javascript
简单了解微信小程序 e.target与e.currentTarget的不同
Sep 27 Javascript
JS实现点击掉落特效
Jan 29 Javascript
vue动态绑定style样式
Apr 20 Vue.js
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轻量级的性能分析工具xhprof的安装使用
2015/08/12 PHP
php文件操作之文件写入字符串、数组的方法分析
2019/04/15 PHP
Extjs学习笔记之三 extjs form更多的表单项
2010/01/07 Javascript
jquery 图片 上一张 下一张 链接效果(续篇)
2010/04/20 Javascript
dojo学习第一天 Tab选项卡 实现
2011/08/28 Javascript
处理文本部分内容的TextRange对象应用实例
2014/07/29 Javascript
jquery实现的Accordion折叠面板效果代码
2015/09/02 Javascript
论JavaScript模块化编程
2016/03/07 Javascript
全面解析多种Bootstrap图片轮播效果
2016/05/27 Javascript
AngularJS中$http服务常用的应用及参数
2016/08/22 Javascript
微信小程序 Toast自定义实例详解
2017/01/20 Javascript
Angular2数据绑定详解
2017/04/18 Javascript
js中json对象和字符串的理解及相互转化操作实现方法
2017/09/22 Javascript
什么是Vue.js框架 为什么选择它?
2017/10/17 Javascript
Vue弹出菜单功能的实现代码
2018/09/12 Javascript
解决微信小程序中转换时间格式IOS不兼容的问题
2019/02/15 Javascript
Vue动态组件与异步组件实例详解
2019/02/23 Javascript
JavaScript实现的开关灯泡点击切换特效示例
2019/07/08 Javascript
在vue中使用回调函数,this调用无效的解决
2020/08/11 Javascript
如何在Express4.x中愉快地使用async的方法
2020/11/18 Javascript
javascript实现时钟动画
2020/12/03 Javascript
python中__call__内置函数用法实例
2015/06/04 Python
python实现多线程抓取知乎用户
2016/12/12 Python
python使用mysql数据库示例代码
2017/05/21 Python
python基于三阶贝塞尔曲线的数据平滑算法
2019/12/27 Python
全网首秀之Pycharm十大实用技巧(推荐)
2020/04/27 Python
使用HTML5的链接预取功能(link prefetching)给网站提速
2012/12/13 HTML / CSS
梅西百货澳大利亚:Macy’s Australia
2017/07/26 全球购物
两道JAVA笔试题
2016/09/14 面试题
学生检讨书范文
2015/01/27 职场文书
九年级化学教学反思
2016/02/22 职场文书
导游词之山东红叶谷
2019/10/31 职场文书
MySQL高速缓存启动方法及参数详解(query_cache_size)
2021/07/01 MySQL
浅谈css实现背景颜色半透明的两种方法
2021/12/06 HTML / CSS
解决linux下redis数据库overcommit_memory问题
2022/02/24 Redis
Python 一键获取电脑浏览器的账号密码
2022/05/11 Python