这是输入(应使用数字键盘)
<input type="number" id="Amount" maxlength="8" autocorrect="off"/>
这是JS附加到输入
$("#Amount").change(function() { this.value = formatNumber(this.value); });
其中formatNumber格式化模式###。###。###中的值,即dot用作千位分隔符,没有小数。所描述的行为适用于Android和桌面浏览器,但在iPhone上以这种方式失败:
如何以编程方式关闭此行为?
答案 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");
}