使用 jQuery 在“Enter”上提交表单?

新手上路,请多包涵

我有一个沼泽标准登录表单——一个电子邮件文本字段、一个密码字段和一个使用 HTML/jQuery 的 AIR 项目上的提交按钮。当我在表单上按 Enter 时,整个表单的内容都消失了,但没有提交表单。有谁知道这是 Webkit 问题(Adobe AIR 使用 Webkit for HTML),还是我搞砸了?

我试过了:

$('.input').keypress(function (e) {
  if (e.which == 13) {
    $('form#login').submit();
  }
});

但这既没有停止清算行为,也没有提交表单。没有与表单相关的操作 - 这可能是问题吗?我可以在操作中添加一个 javascript 函数吗?

原文由 b. e. hollenbeck 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.2k
2 个回答
$('.input').keypress(function (e) {
 if (e.which == 13) {
 $('form#login').submit();
 return false; //<---- Add this line
 }
 });

看看这个stackoverflow答案:

event.preventDefault() 与返回 false

本质上,“return false”与调用 e.preventDefaulte.stopPropagation() 相同。

原文由 NoBrainer 发布,翻译遵循 CC BY-SA 4.0 许可协议

除了像 Jason Cohen 提到的那样 return false 。您可能还必须防止默认

e.preventDefault();

原文由 bendewey 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题