`

javascript中name和id不能和方法名重名的问题

 
阅读更多
	<script>
			function btn() {
				alert("ok");
			}
		</script>
	</head>
	<body>
		<form name="form1" id="form1">
			<input id="btn" type="button" value="测试" onclick="btn();"/>
		</form>
	</body>

 在javascript中,如果我们的id或者那么和方法名重名,那么就会出现方法不可用的情况。这是因为在javascript中

<input  id ="btn" type="button" value="测试" onclick="btn();"/>是一个元素节点,更具体一些说是对象。

如果画内存图,它非常类似于java的内存图。只不过它的属性是id,type这些属性(类似于是局部变量),名字是我们写的名字。如果一个方法的名字和Id相同。那么调用的时候,它就分不清你调用的是id(或者name)的名字,还是方法名的名字。这样就会造成方法不可以被调用的情况。所以,我们在写方法名的时候,一定要注意不能和form里的元素的名称相同。

但是关于这个问题还有一个疑问:

	<script>
			function btn() {
				alert("ok");
			}
		</script>
	</head>
	<body>
		<form name="form1" id="form1">
			<textarea id="btn" cols="50" rows="5"></textarea>
			<input id="btn2" type="button" value="发送信息" onclick="btn();"/>
		</form>
	</body>

 如果我们写一个textarea,id是btn,和script函数的名称相同,也是调用不出来的,这又是为什么呢?

分享到:
评论

相关推荐

    异步ajax验证用户名(防止重名)

    - **发送异步请求**:通过创建`XMLHttpRequest`对象,并使用`open()`和`send()`方法发送请求。 - **处理响应结果**:通过`onreadystatechange`事件监听器来处理服务器返回的数据,并根据不同的返回值在页面上显示...

    jQuery+Ajax实现用户名重名实时检测

    jQuery是一个流行的JavaScript库,它简化了DOM操作、事件处理和Ajax交互。Ajax(Asynchronous JavaScript and XML)是一种在无需刷新整个页面的情况下更新部分网页内容的技术。通过Ajax,我们可以向服务器发送异步...

    (完整word版)Web前端开发笔试题集锦(已读)解析.doc

    5. **解决JavaScript多人开发中函数重名问题**: - **命名规范**:预先约定命名规则,根据开发者和功能添加前缀。 - **封装到类中**:将函数封装到类中,通过类的方法调用,不同类的同名函数不会冲突。 6. **...

    form.submit()不能提交表单的原因分析

    2. **避免与API重名**:在定义ID、类名或变量名时,最好避免与JavaScript或DOM API中的保留关键字和属性名称相同,以减少潜在问题。 总结: 在进行Web开发时,遵循良好的编程和命名规范至关重要。对于表单提交,...

    解决重复提交、上传组件

    此外,对于文件上传,还需要处理并发上传和文件重名问题。一种方法是生成一个唯一的文件名,比如结合用户ID、时间戳和随机字符串,确保每次上传的文件都有不同的名称。同时,可以设置文件上传的大小限制和类型检查,...

    【JavaScript源代码】vue 使用OSS上传图片或附件讲解.docx

    在 Vue 项目中,配置OSS参数通常包括访问密钥(Access Key ID 和 Access Key Secret)、区域(Region)、Bucket 名称以及上传地址等。以下是一个示例配置: ```javascript const OSSConfig = { uploadHost: '...

    PHP+UploadiFy批量上传文件.zip

    此外,为了确保安全,我们还需要考虑一些最佳实践,如检查文件大小、限制文件类型、防止重复文件、使用随机或时间戳命名以避免重名等问题。同时,可以利用PHP的错误处理机制,对可能出现的异常情况进行捕获和处理。 ...

    struts2图片上传到服务器并异步加载显示服务器中图片

    同时,为上传的图片生成唯一的文件名,避免文件重名问题。还可以考虑使用CDN(内容分发网络)优化图片加载速度。 总的来说,Struts2图片上传到服务器并异步加载显示涉及到文件上传处理、服务器存储策略、Ajax异步...

    asp.net中Ckeditor上传图片

    &lt;textarea id="txtEditor" name="txtEditor"&gt; &lt;script src="/Scripts/ckeditor/ckeditor.js"&gt;&lt;/script&gt; CKEDITOR.replace('txtEditor'); ``` 现在,CKEditor已经可以正常使用,但还没有图片上传功能。要添加此...

    Struts2实现Uploadify多文件上传

    在struts.xml配置文件中,配置Action类,指定其执行方法和结果页面。例如: ```xml &lt;action name="uploadAction" class="com.example.UploadAction"&gt; &lt;result name="success"&gt;/uploadSuccess.jsp ``` 其中,...

    JSP实现文件上传(java的io流实现)

    同时,由于JSP直接处理文件上传可能不太安全,通常会推荐将文件上传逻辑放在单独的Servlet中,以更好地控制和管理上传过程。 在处理文件上传时,还需要考虑一些最佳实践,例如: 1. 检查文件类型和大小,防止恶意...

    php html5 文件上传

    在PHP和HTML5中,文件上传是Web应用程序中常见的功能,允许用户将本地文件传输到服务器。...在实际开发中,还需要考虑错误处理、文件类型和大小限制、安全性等问题,以确保文件上传功能的完整性和安全性。

    Java 批量上传文件实例

    &lt;input type="file" name="files" id="files" multiple /&gt; ()"&gt;上传 ``` 在JavaScript中,我们可以编写`uploadFiles`函数,使用XMLHttpRequest或者fetch API来异步上传文件: ```javascript function upload...

    PHP ajax批量上传图片

    在实际应用中,可能还需要处理其他问题,比如文件重名、错误处理、数据库记录等。此外,为了提高用户体验,可以考虑添加图片预览功能,或者使用第三方库如jQuery-File-Upload等简化开发过程。 总结来说,利用PHP和...

    uploadify jsp java 多文件上传实例

    &lt;input id="fileUploader" name="fileUploader" type="file" multiple /&gt; ``` 然后,通过JavaScript设置`uploadify`的配置项,包括上传URL、允许的文件类型、队列大小限制等: ```javascript $(function() { $('#...

    java上传图片[参考].pdf

    3. **文件命名**:为了避免文件重名问题,可以使用时间戳或其他唯一标识符作为文件名。 4. **权限控制**:设置上传目录的权限,防止未授权的访问。 5. **性能优化**:如果上传文件数量大或文件体积大,可以考虑...

    图片批量上传并预览.zip

    &lt;input type="file" id="imgFiles" name="imgFiles" multiple /&gt; ``` - 对于不支持HTML5的浏览器,可以使用Flash或Silverlight等插件实现多选功能。 2. **接收文件**: - 在服务器端,我们需要解析多部分表单...

    真正的无组件上传,而且也不用数据库 ASP

    无组件上传指的是在Web开发过程中,不依赖任何第三方组件实现文件上传功能的一种方法。这种做法可以减少系统的复杂性,降低对第三方库的依赖。 #### 2. 为什么选择无组件上传? - **提高安全性**:减少了引入潜在不...

    ES6知识点整理之对象解构赋值应用示例

    在ES6中,对象解构赋值是一种强大...在实际开发中,尤其是在处理配置对象、函数参数等场景时,对象解构赋值能显著提升代码的可读性和效率。然而,使用时也需要注意避免上述提到的异常情况,确保代码的稳定性和正确性。

Global site tag (gtag.js) - Google Analytics