在移动设备上,如何让“输入”在 type="number" 输入中提交表单?
Posted
技术标签:
【中文标题】在移动设备上,如何让“输入”在 type="number" 输入中提交表单?【英文标题】:On mobile, how do I get "enter" to submit a form within a type="number" input? 【发布时间】:2015-02-18 00:41:37 【问题描述】:我正在像这样使用 AngularJS 和 ng-submit
:
<form ng-submit="submit(foo); foo='';">
<input type="number" ng-model="foo">
</form>
在台式机上的 Chrome 中,我可以在输入时按 Enter 以提交表单(在这种情况下调用 submit(foo)
)。
在 android 版 Chrome (KitKat) 中,它不起作用。但是,如果我将输入更改为 type="text"
,那么当我按下“Go”时它确实工作。
如何使表单的行为与 input type="text"
和 input type="number"
的行为一样?我使用type="number"
是因为我希望设备调出数字键盘。
这里有一个说明问题的 plunkr:http://plnkr.co/edit/4WJfdoKgXu7o6ZsM8WFx?p=preview(如果您使用的是移动设备,则为 http://goo.gl/IiQzGf)。
编辑:
用 javascript 监听 enter 没有 工作:http://plnkr.co/edit/07QGA1s4UCyop8IB8Dmx?p=preview
编辑 2:
这不是 AngularJS 的问题。这是一个 html 问题:http://embed.plnkr.co/ZVD0ZtmEutWZr7P7vq2b/preview
【问题讨论】:
【参考方案1】:我在三星 Galaxy S8 上尝试了 Android N 上的最后一个 plunker(简单 HTML),并且提交在这两个字段上都有效。可能是特定Android版本的问题
【讨论】:
以上是关于在移动设备上,如何让“输入”在 type="number" 输入中提交表单?的主要内容,如果未能解决你的问题,请参考以下文章
使 Input Type="Password" 在移动设备上使用数字键盘