标题不言自明......我有几种形式,其中一种只是一个文本输入形式,另一种是由两个文本输入组成的。我不想在其中任何一个中使用任何提交按钮,我希望只要用户在任何文本输入中按下 ENTER 按钮,每个表单都会提交:
- 每次用户按下 ENTER 按钮时,仅由一个输入组成的表单就会提交 - 完美!
- 由两个文本输入组成的第二种形式不会以这种方式运行,当用户在任何两个输入中按下 ENTER 按钮时,它不会提交。
有没有一种方法可以让具有多个文本输入的表单以这种方式运行并避免其中有提交按钮?
最佳答案
尝试在 <form></form>
之间添加这个标签
<input type="submit" style="display: none" />
经过测试,它可以在 Firefox 和 Chrome 上运行。如果表单中有提交输入类型,enter 应该会自动提交它,无论它是否可见。
实际上我自己在登录表单中使用它,尽管在用户名字段中,移动到下一个字段比提交更有意义。以防万一您有类似的用例,这是我使用的代码(需要 jQuery)
$('#username').keypress(function(event) {
if (event.keyCode == 13 || event.which == 13) {
$('#password').focus();
event.preventDefault();
}
});
请注意,尽管有一个小错误——如果用户选择浏览器自动完成用户名并按 enter,它仍然会移动到下一个字段而不是选择它。没有时间调试它,但如果有人能弄清楚如何修复它,那就太好了。
关于在任何文本输入中按 ENTER 后出现 HTML5 : How to make a form submit,?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27807853/