最近在学习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 />元素的子元素,则不会出现任何问题

最新文章

  1. 解决升级PHP7后 微信公众号收不到消息
  2. Wix 安装部署教程(十四) -- 多语言安装包之用户许可协议
  3. Tomcat8启动报there was insufficient free space available after evicting expired cache entries - consider increasing the maximum size of the cache
  4. Asp.net mvc 各个组件的分离
  5. 看病要排队(stl)
  6. C语言学习笔记(1):Hello World!
  7. [vim]vim中有中文乱码
  8. Xcode和IOS模拟器
  9. QEvent大全,有中文解释
  10. Word 2010巧妙绘制各种分割线的方法(图文)
  11. 我是怎么拿到百度2016校招Offer的——IT技术类校招成功面经
  12. oracle中创建表时添加注释
  13. kvm虚拟化
  14. windows7+apache2.4+sql server+php7.0
  15. python基础知识小结-运维笔记
  16. [Android App]IFCTT,即:If Copy Then That,一个基于IFTTT的&quot;This&quot;实现
  17. TModalResult 和 MessageBox 返回值
  18. 每天CSS学习之top/left/right/bottom
  19. 【Java面试题】13 Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?
  20. python用pyinstaller打包成exe文件

热门文章

  1. asp.net Forms登录核心方法
  2. HTML文档插入JS代码的几种方法
  3. PAT 1040 有几个PAT
  4. jquery/js iframe 元素操作
  5. P4016 负载平衡问题
  6. 简单瞎搞题(bitset的操作)
  7. java注解(Annotation)的简单介绍
  8. windows下maven打包eclipse工程
  9. (转)用python获取页面返回的cookie
  10. nginx实时生成缩略图到硬盘上