HTML表单按'输入'在输入文本中导致单击按钮

时间:2013-09-09 16:17:41

标签: html forms events button input

http://jsfiddle.net/PCGvG/

为什么在这个例子中我按下'输入&#39;在输入文本中,它执行onclick?使用<input type="button">时不会......

1 个答案:

答案 0 :(得分:13)

默认情况下,元素<button>type="submit"。见http://www.w3.org/TR/html401/interact/forms.html#h-17.5

解决方案:如果您不想调用按钮的单击处理程序,请明确地为其指定type =“button”。

<form name="myForm">
    <button type="button" id="test">Click</button>
    <input type="text" name="q" />
</form>

(按Enter键仍然会提交表格,至少在某些浏览器上。)

关于<input type="button">行为不同的评论:这是正确的。 type =“button”的输入与type =“button”的按钮的作用相同,而type =“submit”的输入与type =“submit”的按钮的作用相同。