使用多个输入框按“输入”

时间:2013-01-21 21:46:01

标签: input enter

我有一个带有几个输入框的HTML表单及其相应的输入按钮。当我在第一个输入框中键入内容并按 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>

显然这是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>

这是一个错误还是一个功能?有更好的解决方案吗? 感谢您的任何建议。

0 个答案:

没有答案