[英]Unexpected submit on “submit” button click
如果我将“提交”按钮设为活动状态(带有“ Tab”按钮),然后按Enter ,则按键处理程序将触发,并在按钮上生成click事件。 但是OnClick
和Submit处理程序将不会触发。 它只会以静默方式发布表单。 为什么?
<script src="../js/jquery.js" type="text/javascript"></script>
<script type="application/javascript">
$().ready(function(){
$("#f1").keypress(function(event) {
if (event.keyCode==13){
var currentInputId = $(event)[0].target.id;
var currentInput = $('#'+currentInputId);
currentInput.click();
return false;
}
});
$("#f1").submit(function(){
alert ("huy")
})
})
</script>
<form name="f1" id="f1" method="POST">
<input type="text">
<input type="submit" onclick="return false;" id="submit">
</form>
在我的机器上,您的情况发生了什么(在提交按钮上移动输入,然后按Enter):
keypress
处理程序运行并调用click
该按钮 onclick
返回false
如果我删除onclick="return false;"
, 然后:
keypress
处理程序运行并调用click
该按钮 submit
处理程序 其他一些测试表明*不会调用* submit
处理程序,因为您从keypress
处理程序返回false
。
因此,要解决此问题:
onclick="return false;"
从按钮 keypress
处理程序中删除return false
这将显示警报,然后按您期望的方式提交表单。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.