0

我有一个包含多种表单的网页。一次只能看到一个,具体取决于状态。

在一个表单上,按下回车键似乎会导致页面重新加载,而不是触发表单按钮的单击事件。

我有很多 javascript,主要是因为我需要与 mailchimp 进行客户端交互。因此,我禁用了表单的action=html,而是创建了一个 javascript 函数来处理点击。如果您单击按钮,它工作正常。

我还为表单中的唯一字段分配了一个侦听器:

var input = document.getElementById ("new-email-address");
input.addEventListener ("keyup", function(event)
{
  if (event.keyCode === 13)
  {
    event.preventDefault();
    document.getElementById("new-email-address").click();
  }
});

然而,当我点击回车键时,$(document).ready (function()执行。可能有其他事情事先正在执行,但是,如果是这样,我还没有找到一种方法来发现它。

什么可能导致这种行为?

4

1 回答 1

0

事实证明,输入键是在表单级别处理的。为了禁用它,我为每个表单添加了以下代码:

$("#the-form").keypress(function(e)
{
  if (e.which == 13) // Enter key
    return false;
});
于 2021-12-15T02:02:57.003 回答