从javascript向文本框添加值在Android默认浏览器中不工作



我正在尝试实现电话号码。屏蔽移动网站。我不能使用jquery掩码插件,因为它不能在设备上正常工作。下面的实现在Android Chrome移动浏览器中工作良好。但是在Android默认浏览器的情况下,当我尝试使用退格键删除所有数字时,最后一些(2/3)数字/数字不清除。我猜是这个。没有更新某些文本框属性。电话没有。格式为(例如###-###-####)

HTML

<input id="phoneNo" type="tel" maxlength="12" placeholder="Phone"/>
JavaScript

var phoneNo = document.getElementById("phoneNo");
phoneNo.addEventListener("textInput",function(){
if(this.value.toString().length==3 || this.value.toString().length==7) {
   this.value += "-";            
}
});

看看jQuery on()方法,因为不是所有浏览器都支持addEventListener,我猜这就是问题所在。

http://api.jquery.com/on/

Darshan请你看看http://jsfiddle.net/2dJAN/51/

在我的应用程序中,我也使用这些类型的功能。这个示例

  1. 将允许用户在
  2. 字段中只输入整数
  3. 这将自动在数字之间添加"-",如123-456-7890格式
  4. 可以删除字段内的所有号码。

    $("#fax_field").on("keyup", function(event) {
            var limitField = $(this).val().trim().length;
            var limit = "12"
            this.value = this.value.replace(/[^0-9_-.]/g, '');
            if (event.keyCode != 8) {
              if (limitField == 3) {
                var fax_value = $(this).val().trim().concat('-');
                $("#fax_field").val(fax_value);
              } else if (limitField == 7) {
                var fax_value = $(this).val().trim().concat('-');
                $("#fax_field").val(fax_value);
              }
            }
            if (limitField > limit) {
                $("#fax_field").val($(this).val().trim().substring(0, limit));
            }
        });
    

请试试这个。

相关内容

  • 没有找到相关文章

最新更新