关闭iPhone上的货币格式以获取HTML输入

时间:2013-01-22 11:27:24

标签: jquery iphone html html5 validation

这是输入(应使用数字键盘)

<input type="number" id="Amount" maxlength="8" autocorrect="off"/>

这是JS附加到输入

$("#Amount").change(function() { this.value = formatNumber(this.value); });

其中formatNumber格式化模式###。###。###中的值,即dot用作千位分隔符,没有小数。所描述的行为适用于Android和桌面浏览器,但在iPhone上以这种方式失败:

  • 123123变为123,123
  • 123000变为123

如何以编程方式关闭此行为?

1 个答案:

答案 0 :(得分:0)

这是我到目前为止找到的最佳答案

<input type="type" id="Amount" maxlength="8" autocorrect="off" pattern="[0-9]*" />

因此,type =“text”with pattern =“[0-9] *”将触发数字键盘,而不进行自动货币格式化。在Apple设备(iPad,iPhone)上正常工作,但在Android设备上不会触发数字键盘。这就是需要这个JS的方式:

var ua = navigator.userAgent.toLowerCase();
var isAndroid = ua.indexOf("android") > -1;
if(isAndroid) {
   $("input[pattern='[0-9]*']").prop("type", "number");  
}