我在button
中有一个form
元素,如下所示:
<form>
<input type="text">
<button>Test</button>
<input type="submit" value="Submit"/>
</form>
使用以下JS:
$('form').submit(function() {
alert('Form submitted.');
return false;
});
$('button').click(function() {
alert('Button clicked.');
});
和jsFiddle:http://jsfiddle.net/JnnRX/
当用户关注文本字段,键入某些文本,然后按Enter键时,button
处理程序将首先执行,然后执行form
处理程序。但是,我想要它
执行表单处理程序并忽略该按钮。有没有办法解决这个问题,或者最好将我的button
元素更改为其他内容?
答案 0 :(得分:1)
按下button
<button type="button">Test</button>
如果是该类型,浏览器将无法识别“输入”提交,除非该按钮具有焦点。通常,表单流程中的第一个submit
按钮将是在输入时提交的按钮。
答案 1 :(得分:0)
在这里:http://jsfiddle.net/JnnRX/17/
基本上你只需要在表单的keyup()上使用e.preventDefault()。 e表示keyup事件,e.keyCode表示按下的键。 13是回车键的键码。
编辑: Woops,我不明白你原来的要求。我已经用你想要的东西更新了jsfiddle。