在移动设备上,如何让“输入”在 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" 在移动设备上使用数字键盘

如何让 FullCalendar 在移动设备上工作?

如何让这个 Materialise 表在移动设备上响应更快

如何让我的整个网站在移动设备上响应?

如何防止在移动设备上显示 Jquery UI datepicker/timepicker

如何始终在移动设备和 iPad 上显示数字输入微调器