我有一个由 Angular 处理的基本表单(为了清楚起见,省略了类和标签):
<form>
<input type="text" />
<input type="number" />
</form>
在桌面 View 上,这两个输入都允许我按 Enter 键将表单提交到 Angular。
但是,在移动 View 上(在 Chrome Android 5.0 上测试),只有文本输入允许按 Enter 按钮将表单提交到 Angular。在数字输入过程中按 Enter 按钮时,没有任何反应。
这是一个已知的错误吗?此问题是否有解决方法?
编辑:
如果只有一个输入,也会发生相同的行为:
<form>
<input type="text" />
</form>
<form>
<input type="number" />
</form>
最佳答案
移动键盘的工作方式与您想象的不同,这就是问题所在。如果表单中只有 1 个输入字段,则 Enter 键会提交表单,但如果有 2 个或更多输入字段,则 Enter 键会移至下一个输入。
在您的 <form>
中例如,数字字段后面缺少提交按钮。所以 Chrome 没有下一个输入可去。所以这只是一个死胡同。
您可以尝试添加 <input type="submit" value="Go">
并将其可见性设置为 0。我建议至少有一个小的提交图标。
仅通过回车键提交的表单在设计上不适合移动设备。
这是对类似问题的引用:
HTML: Why does Android browser show "Go" instead of "Next" in keyboard?
关于angularjs - Angular 在输入时提交表单不适用于移动设备上的数字输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33216115/