Input 按';输入';具有多个输入框

Input 按';输入';具有多个输入框,input,enter,Input,Enter,我有一个HTML表单,有几个输入框和相应的enter按钮。当我在第一个输入框中键入内容并按Enter或按钮时,它工作正常。但如果我在其他框中按Enter键,它就会像在第一个框中一样工作。按钮没问题 以下是我的代码: <script type="text/javascript"> function fn (num) { alert(num); document.getElementById(num).focus(); } </script> <

我有一个HTML表单,有几个输入框和相应的enter按钮。当我在第一个输入框中键入内容并按Enter或按钮时,它工作正常。但如果我在其他框中按Enter键,它就会像在第一个框中一样工作。按钮没问题

以下是我的代码:

<script type="text/javascript">
  function fn (num) {
    alert(num);
    document.getElementById(num).focus();
  }
</script>
</head>
<body>
<form>
  <input id="1" type="text"></input> <button onclick="fn(1);">press</button><br/>
  <input id="2" type="text"></input> <button onclick="fn(2);">press</button><br/>
  <input id="3" type="text"></input> <button onclick="fn(3);">press</button><br/>
</form>

函数fn(num){
警报(num);
document.getElementById(num.focus();
}
按


显然,这是ECMA中的一个“怪癖”(我在FF18.0.1和Safari 5.1.7中进行了测试)。 这个怪癖有解决办法吗

我发现的一个解决方案是为每个输入框添加一个表单

<form>
  <input id="1" type="text"></input> <button onclick="fn(1);">press</button><br/>
</form>
<form>
  <input id="2" type="text"></input> <button onclick="fn(2);">press</button><br/>
</form>
<form>
  <input id="3" type="text"></input> <button onclick="fn(3);">press</button><br/>
</form>



这是一个bug还是一个特性?有更好的解决办法吗? 谢谢你的建议。

试试这个:

$("id").keypress(function(e) {
    if(e.which == 13) {
        respective functions
    }
});


您将希望使用onKeyPress而不是onClick。试试这个:

function myKeyPress(args) {
  if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) {
    // do something here (enter has been pressed)
  }
  else {
    return false; // somehow prevents "default" form behaviors
  }
}

这是一个特色。或者称之为设计缺陷;不是虫子。按钮与输入框不“对应”。因此,每个表单只能有一个按钮响应Enter键。无论你在哪个文本框中。你已经得到了答案,我不相信还有更好的答案。不,问题不在于按钮,而在于输入框,所以你的答案完全没有抓住要点。如果我把焦点放在一个输入框上,然后按enter键,它应该对该输入框做些什么,而不是对另一个输入框。谢谢,但不用了,谢谢。
function myKeyPress(args) {
  if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) {
    // do something here (enter has been pressed)
  }
  else {
    return false; // somehow prevents "default" form behaviors
  }
}