今天遇到一个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