Добавление значения в текстовое поле из JavaScript не работает в браузере Android по умолчанию

Я пытаюсь реализовать телефон №. маскировка для мобильного сайта. И я не мог использовать плагин jquery mask, так как он не работал должным образом на устройствах. Ниже реализация отлично работает в Android Chrome Mobile Browser. Но в случае браузера по умолчанию для Android, когда я пытаюсь удалить все номера с помощью клавиши возврата, последние несколько (2/3) цифр / цифр не очищаются. Я думаю this.value += "-"; не обновляет какое-либо свойство текстового поля. Формат номера телефона (напр. ### - ### - ####)

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 += "-";            
}
});

2 ответа

Мистер Даршан, пожалуйста, посмотрите на http://jsfiddle.net/2dJAN/51/

В моем приложении я также использую эту функцию. Этот пример

  1. Позволит пользователю вводить только целые числа в поле
  2. Это автоматически добавит "-" между числами, такими как 123-456-7890 формат
  3. Вы можете удалить все числа внутри поля.

    $("#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));
            }
        });
    

Пожалуйста, попробуйте это. Дайте мне знать ваши комментарии.

Взгляните на метод jQuery on(), так как не все браузеры поддерживают addEventListener, который, как я предполагаю, является проблемой.

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

Другие вопросы по тегам