定义表单控件的id和name注意点
2024-09-02 16:30:13
最近在学习JavaScript,在编写一个demo时出现一个错误。为表单中的提交按钮控件定义的id属性值为submit,致使程序出错。如下代码:(js代码省略)
<form method="post" name="register">
User :<input type="text" name="user" /><br />
Password:<input type="password" name="pass" /><br />
<input type="button" id="submit" value="提交" />
</form>
把id属性值改为regist后,程序正常运行
原因介绍:
当表单控件的id为submit等属性值时,由于JavaScript是一种动态语言,它允许动态地为对象增加属性和方法。访问表单控件有一种简单的方法:formObj.elementName, 其中elementName就是表单域的id或者name属性值——这样可视为表单对象有一个elementName属性,也就是说,当表单a内包含id或者name分别为x,y的两个表单域时,相当于为该表单对象增加了x,y两个属性
理解了上面的知识后,不难明白:当指定<form />元素中<input />元素的id属性值为submit时,<form />元素对应的DOM对象就增加了submit属性——这就覆盖了该对象中原有的submit方法,从而导致无法提交表单。
注:如果该按钮不做为<form />元素的子元素,则不会出现任何问题
最新文章
- 解决升级PHP7后 微信公众号收不到消息
- Wix 安装部署教程(十四) -- 多语言安装包之用户许可协议
- Tomcat8启动报there was insufficient free space available after evicting expired cache entries - consider increasing the maximum size of the cache
- Asp.net mvc 各个组件的分离
- 看病要排队(stl)
- C语言学习笔记(1):Hello World!
- [vim]vim中有中文乱码
- Xcode和IOS模拟器
- QEvent大全,有中文解释
- Word 2010巧妙绘制各种分割线的方法(图文)
- 我是怎么拿到百度2016校招Offer的——IT技术类校招成功面经
- oracle中创建表时添加注释
- kvm虚拟化
- windows7+apache2.4+sql server+php7.0
- python基础知识小结-运维笔记
- [Android App]IFCTT,即:If Copy Then That,一个基于IFTTT的";This";实现
- TModalResult 和 MessageBox 返回值
- 每天CSS学习之top/left/right/bottom
- 【Java面试题】13 Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?
- python用pyinstaller打包成exe文件