输入的角度提交表单不适用于移动设备上的数字输入

时间:2015-10-19 13:45:47

标签: angularjs forms mobile

我有一个由Angular处理的基本表单(为清晰起见省略了类和标签):

<form>
    <input type="text" />
    <input type="number" />
</form>

在桌面视图中,两个输入都允许我按Enter键将表单提交给Angular。

但是,在移动视图上(在Chrome Android 5.0上测试过),只有文本输入允许按下输入按钮将表单提交给Angular。在数字输入中按Enter按钮时,没有任何反应。

这是一个已知的错误吗?此问题是否存在解决方法?

编辑:

只有一个输入时也会出现相同的行为:

<form>
    <input type="text" />
</form>

<form>
    <input type="number" />
</form>

1 个答案:

答案 0 :(得分:2)

移动键盘并不像您认为的那样工作,这就是问题所在。如果表单中只有1个输入字段,则输入键将提交表单,但如果有2个或更多输入字段则返回下一个输入。

在您的<form>示例中,它在号码字段后缺少提交按钮。所以Chrome没有下一个输入。所以它只是一个死胡同。

您可以尝试添加<input type="submit" value="Go">并将其可见性设置为0.我建议您至少提交一个小提交图标。

仅通过回车键提交的表单设计不符合移动设备。

这里提到了类似的SO问题:

HTML: Why does Android browser show "Go" instead of "Next" in keyboard?