angularjs - Angular 在输入时提交表单不适用于移动设备上的数字输入

标签 angularjs forms mobile

我有一个由 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/

相关文章:

javascript - 单页应用组织

html - Django表单实践

css - 我正在尝试使用媒体查询来使我的网站响应,但我失败了。我想知道我是否遗漏了一些简单的东西?

mobile - 在 CLR/Mono 上经常调用的函数中进行分配是否效率低下?

javascript - 使用 Foundation 的单页应用程序视口(viewport)移动

angularjs - 自动保存模糊 + "Undo"按钮

javascript - Angular 到 Aurelia 的过渡——一些基本问题

javascript - 评估点表示法中的字符串以从 View 中的对象获取相应的值

ruby - webrat 自动填充表单字段

PHP - MySQL INSERT 查询不适用于表单操作