Javascript 如何使html5文本字段显示数字键盘?
Phonegap>android 我知道我可以使用Javascript 如何使html5文本字段显示数字键盘?,javascript,android,jquery,html,cordova,Javascript,Android,Jquery,Html,Cordova,Phonegap>android 我知道我可以使用type=“number”来显示数字键盘,但问题是我想在用户输入时将输入重新格式化为价格。因此,它将采用美元和美分的格式(如$343,23.50),并且type=“number”字段不允许数字以外的字符 所以我想有一个文本字段,但它应该在点击时显示数字键盘。有可能吗?对于一个包罗万象的解决方案,我认为你运气不好,除非你使用type=“text”并使用一个format函数onchange。但是,您可以使用下面这样的数字字段,它将给您两位小数,然后将
type=“number”
来显示数字键盘,但问题是我想在用户输入时将输入重新格式化为价格。因此,它将采用美元和美分的格式(如$343,23.50
),并且type=“number”
字段不允许数字以外的字符
所以我想有一个文本字段,但它应该在点击时显示数字键盘。有可能吗?对于一个包罗万象的解决方案,我认为你运气不好,除非你使用type=“text”并使用一个format函数onchange。但是,您可以使用下面这样的数字字段,它将给您两位小数,然后将美元符号放在输入字段前面
<div>$<input type="number" step="0.01"/></div>
$
type=“number”的问题在于,并非所有浏览器都能识别它您可以使用输入掩码设置帖子的格式。
有几个插件可以做到这一点。
对于您的问题,它看起来很合适。
对于Android,您通常需要
type=“number”
来默认使用数字键盘。(iPhone的一些解决办法是尽其所能实现这一点。)您不能在键入时在type=“number”
中显示非数字。要在键入时显示,您需要type=“text”
,然后您可以使用现有的插件(如autoNumeric)在键入时进行格式化,但随后您将继续被推到默认的非数字键盘,通常是在每次按键时
您最好的解决方案可能是使用type=“number”
进行编辑,并切换到type=“text”
或其他一些字段,以便在字段没有焦点或同时显示格式化的字段。和/或,您可以检测浏览器是否位于有默认键盘问题的设备上,如果没有,您可以继续使用type=“text”
并在执行过程中正确格式化。我见过的其他解决方法是微调器(不适合信用卡等大数字)或具有自己的伪键盘的小部件
如果不是不恰当的话,我最近已经完成了一个
type=“number”
插件的工作,以帮助解决type=“number”
Android问题,我正在建立一个网站来分享它。很高兴将URL私下转发给您(插件可以下载,API也有详细的文档记录),但我不想在我完成页面设置之前在这里发布该网站。当准备好包含URL时,我很乐意回来编辑这个答案。如果您使用的是Jquery,请尝试一下,我的编码方式是,单击文本字段将显示数字键盘,您可以根据需要进行修改
代码:
<input id="phone" placeholder="Phone Number" name="phoneno" type="tel" value="" ></input>
使用下拉列表,输入所需字符,如美元、电话号码+91等
不管它值多少钱(现在有点晚了)-我最终为我的type=“number”插件创建了一个网站,它可能会对遇到此问题的人有所帮助: