IE10/IE9 Click Enter will trigger submission

Form Enter Submission Implicit(Form 表单使用Enter键显示提交表单)

当使用Form表单,在一个text input框中,按Enter键,则会显示的提交该表单。例如:当在test文本框中输入Enter键时,则会显示的将该表单请求提交到http://www.xx.com

<form action="http://www.xx.com">
    <input name="test" type="text">
    <input type="submit">
</form>

如果在form中使用button 默认 type=submit,则也会发生同样的行为。例如:

<form action="http://www.xxx.com">
    <input name="test" type="text">
    <button>Submit</button>
</form>

对于Form在一个Text的Input中按Enter则会触发input[type="submit"] /button[type="submit"]的click事件,这是所有浏览器都是默认实现的行文

IE10/IE9的特殊行为

IE10/IE9有个特殊行为,即使没有Form表单,对于在Text中按Enter,则会触发Dom 中找到的第一个Button[type=submit"]的click事件。例如:

<input type="text">
<!-- other stuff -->
<button>Submit</button>

解决方法

为button 添加Type="button"属性,例如:

<input type="text">
<!-- other stuff -->
<button type=”button">Submit</button>

从而预防IE10/IE9,当用户按Enter键时触发Click事件

Related

http://tjvantoll.com/2013/01/01/enter-should-submit-forms-stop-messing-with-that/

http://tjvantoll.com/2013/01/01/enter-should-submit-forms-stop-messing-with-that/

原文地址:https://www.cnblogs.com/lily-tiantian/p/4317835.html