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

今天在导出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

时间: 2025-01-20 08:20:44

js函数名与form表单元素同名冲突的问题_javascript技巧的相关文章

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

 本篇文章主要是对js函数名与form表单元素同名冲突的问题进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助 今天在导出Excel的时候用了Form 表单的input hidden 来区分导出和搜索.开始的时候js中的onClick事件的函数名 和 hidden 中的 id 命名一样.结果导致报错:调用函数的那一行对象不支持此属性.   找了很长时间都找不出原因,开始的时候一直以为是写错了某个字母,才发现js函数根本没有执行.后来没有办法直接调用了别的函数,发现就有用了,认为是函数

js 提交form表单和设置form表单请求路径的实现方法_javascript技巧

如下所示: form表单ID:postform 设置表单请求url document.postform.action = "SaveReturnInfo"; 提交form表单 document.getElementById("postform").submit(); 以上就是小编为大家带来的js 提交form表单和设置form表单请求路径的实现方法全部内容了,希望大家多多支持~ 以上是小编为您精心准备的的内容,在的博客.问答.公众号.人物.课程等栏目也有的相关内容,

js获取form表单所有数据的简单方法_javascript技巧

在HTML中用js获取通过GET.POST方法(就是在网址后加?a=b&c=d之类)传过来的表单值. 针对大家常用的获取表单方式,很多时候都是在重复的写一些代码,今天给大家贴出来的代码可以作为公用方法直接调用.可以提高大家的开发效率. Js代码 <script type="text/javascript"> //获取指定form中的所有的<input>对象 function getElements(formId) { var form = documen

对于Form表单reset方法的新认识_javascript技巧

HTML中Form表单的reset方法被用来清空用户所输入的内容,以前一直误以为其是单纯的将input等输入项中的值清空. 但实际上不是这样的,reset方法的本质是将input等输入项中的内容还原为属性value中的值,而不是""空值. w3c上是这样说的: 在 HTML 表单中 <input type="reset"> 标签每出现一次,一个 Reset 对象就会被创建. 当重置按钮被点击,包含它的表单中所有输入元素的值都重置为它们的默认值.默认值由

jquery form表单获取内容以及绑定数据_javascript技巧

在日常开发的过程中,难免会用到form表单,我们需要获取表单的数据保存到数据库,或者拿到后台的一串json数据,要将数据绑定到form表单上,这里我写了一个基于jquery的,formHelp插件,使用起来也很简单: 获取表单的数据:$("#formid").serializeJson(); 绑定数据到表单:$("#formid").setForm(json); jquery.formHelp.js插件 /** * 将form里面的内容序列化成json * 相同的c

JavaScript动态创建form表单并提交的实现方法_javascript技巧

本文实例讲述了JavaScript动态创建form表单并提交的实现方法.分享给大家供大家参考,具体如下: 页面布局有些复杂的情况下,可能需要在页面中动态创建一个 form,JavaScript 创建 form 演示如下: // JavaScript 构建一个 form function MakeForm() { // 创建一个 form var form1 = document.createElement("form"); form1.id = "form1"; f

jQuery实现form表单元素序列化为json对象的方法_jquery

本文实例讲述了jQuery实现form表单元素序列化为json对象的方法.分享给大家供大家参考,具体如下: 这段代码序列化form表单元素为json对象: <!Doctype html> <html xmlns=http://www.w3.org/1999/xhtml> <head> <title>jQuery扩展--form序列化到json对象</title> <meta http-equiv=Content-Type content=&

ASP.NET中实现把form表单元素转为实体对象或集合

这篇文章主要介绍了ASP.NET中实现把form表单元素转为实体对象或集合,本文又是一个对重复数据处理的一个封装,非常实用的开发技巧,需要的朋友可以参考下     简介: 做WEBFROM开发的同学都知道后台接收参数非常麻烦 虽然MVC中可以将表单直接转为集实,但不支持表单转为 LIST<T>这种集合 单个对象的用法: 表单:   代码如下: <input name='id' value='1' > <input name='sex' value='男' >   后台:

ASP.NET中实现把form表单元素转为实体对象或集合_实用技巧

简介: 做WEBFROM开发的同学都知道后台接收参数非常麻烦 虽然MVC中可以将表单直接转为集实,但不支持表单转为 LIST<T>这种集合 单个对象的用法: 表单: 复制代码 代码如下: <input name='id'  value='1' > <input name='sex'  value='男' > 后台: 复制代码 代码如下: //以前写法             DLC_category d = new DLC_category();