8

Phonegap>安卓

我知道我可以type="number"用来显示数字键盘,但问题是我想在用户输入时将输入重新格式化为价格。所以它将采用美元和美分的格式(如$343,23.50),并且该type="number"字段不允许其他比数字字符。

所以我想要一个文本字段,但它应该在点击时显示数字键盘。可能吗?

4

4 回答 4

3

对于一个包罗万象的解决方案,我认为你很不走运,除非你使用 type="text" 并使用格式函数 onchange。但是,您可以使用如下所示的数字字段,它将为您提供两位小数,然后将美元符号放在输入字段的前面。

<div>$<input type="number" step="0.01"/></div>
于 2013-09-24T12:38:26.780 回答
3

对于 Android,您通常需要type="number"默认使用数字键盘。(一些针对 iPhone 的变通方法是为了它的价值。)您不能在type="number"键入时在 a 中显示非数字。要在您键入时显示,您需要type="text",然后您可以使用现有插件(如 autoNumeric)在您键入时进行格式化,但随后您将继续被推到默认为非数字键盘,通常在每次按键时.

您最好的解决方法可能是在字段没有焦点或同时type="number"进行编辑和切换到或其他一些字段以显示格式化。type="text"和/或,您可以检测浏览器是否在具有默认键盘问题的设备上,如果没有,您可以随时使用type="text"并很好地格式化。我见过的其他解决方法是微调器(不适用于信用卡等大量数字)或带有自己的伪键盘的小部件。

如果不是不恰当的话,我最近完成了一个type="number"插件来帮助解决type="number"Android 问题,并且正在将一个网站放在一起来分享它。很高兴私下将 URL 转发给您,(插件是可下载的,API 已详细记录)但我不想在完成页面发布之前在这里发布该站点。准备好包含 URL 后,很乐意回来编辑此答案。

于 2014-03-16T00:02:36.683 回答
1

type = "number" 的问题是它不能被所有浏览器识别。

您可以使用输入掩码来格式化您的帖子。
有几个插件可以做到这一点。
对于您的问题,maskMoney看起来很合适。

于 2014-03-14T09:35:58.300 回答
0

我你正在使用 Jquery,试试这个,我的编码方式是在点击文本字段时会显示数字键盘,你可以根据需要进行修改

代码:

<input id="phone" placeholder="Phone Number" name="phoneno" type="tel" value="" ></input>

使用带有所需字符的下拉菜单,如美元、电话索引号 +91 等,

例子

于 2014-03-19T06:02:03.183 回答