button的type属性

今天遇到一个bug,在 一个嵌套的form里,内部form的按钮触发了本应由最底部的确认按钮触发的submit事件。一开始还以为是触发事件的delegation引起的问题,本以为需要在基本的formView里加入一个全局的preventDefault来阻止事件的delegation。后来同事发现在我们重构的按钮模板里忘记加入了button的type属性,于是我又学到一课:

永远不要忘记给button加入type属性,否则绝大部分浏览器会默认他为type=submit!(IE8以下默认值为type=button)。

Reference:

http://stackoverflow.com/questions/3314989/can-i-make-a-button-not-submit-a-form
https://html.spec.whatwg.org/multipage/forms.html#attr-button-type
http://www.w3schools.com/tags/att_button_type.asp

推荐阅读更多精彩内容

  • 表单基础知识 在HTML中,表单是由 元素来表示的,而在JS中,表单对应的则是HTMLFormElement类型。...
    oWSQo阅读 847评论 0 1
  • 总结: 鼠标事件 1.click与dbclick事件$ele.click()$ele.click(handler(...
    阿r阿r阅读 1,428评论 2 10
  • (续jQuery基础(1)) 第5章 DOM节点的复制与替换 (1)DOM拷贝clone() 克隆节点是DOM的常...
    凛0_0阅读 1,124评论 0 8
  • 儿子上小学的事让我头疼了快两年了,提前做好准备却仍然没赶上变化让我懊恼了好一阵子,当然,这懊恼中也有一部分是在怪责...
    静听l风吟阅读 115评论 1 1
  • 我们带着问题去思考回顾当天的学习内容 1、戴钊教练的分享,Paul博士关于教练行业的分析,关于教练在亚洲,中国的教...
    刘小权PCC认证教练阅读 405评论 0 3