在 Chrome 中,提交的表单不会包含两个字段



我最近一直在使用 html + js + css,在 chrome 和 firefox 中发现了一个非常奇怪的问题。

我有一个包含几个字段的表单,但它没有在按回车键时提交。我想知道可能是什么原因。如果我删除所有字段并只保留一个字段,则会正确提交。

这真的是铬/火狐错误还是我在做梦?

代码1:(工作正常,表格在输入时提交)

<html>
<head>
<meta charset=utf-8 />
<title>JS Bin</title>
</head>
<body>
  <form>
    <input type="text" />
  </form>
</body>
</html>

代码2:(不起作用,输入时未提交表单)

<html>
<head>
<meta charset=utf-8 />
<title>JS Bin</title>
</head>
<body>
  <form>
    <input type="text" />
    <input type="text" />
  </form>
</body>
</html>

演示:

1 字段:http://jsbin.com/IFowenev/4/edit(工作正常,表单在输入时提交)

2 个字段:http://jsbin.com/IFowenev/3/edit(不起作用,输入时未提交表单)

当表单中只有一个单行文本输入字段时,用户代理应接受该字段中的 Enter 作为提交请求窗体。

超文本标记语言 - 2.0

为了获得可靠的结果,我建议使用 JavaScript 在输入时提交。

这是jQuery的提交函数的报价...

根据浏览器的不同,Enter 键可能只会导致表单 如果表单只有一个文本字段,则提交,或者仅在存在时提交 是存在的提交按钮。接口不应依赖于 此键的特定行为,除非问题由 观察按 Enter 键的按键事件。

现在,如果您想"自动提交"表单,则只能有一个输入文本元素,或者只需在表单中添加一个提交按钮。

最新更新