@Valeriy1997

Почему возникает ошибка в работе виртуальной клавиши BackSpace?

Возникает ошибка в роботе виртуальной клавиши которая должна удалять по одном символу при нажатии

вот код клавиши :

$(document).ready(function() {

     function del() {

         function del() {

             var str = document.getElementById('phone').val;

             document.getElementById('phone').val = str.substring(0, str.length - 1);

         }

     }

 });


Вот полный код : jsfiddle.net/0xL0fctq/60
  • Вопрос задан
  • 236 просмотров
Решения вопроса 1
OlegTar
@OlegTar
программист .NET, Javascript, Perl
рабочий код здесь: https://jsfiddle.net/0xL0fctq/89/

но я закоментил строку $("#phone").mask(mask, {placeholder: "_", autoclear: false}); так как она не работала

В настройках фидлера нужно было НЕ выбирать onLoad, а просто No-wrap in head или No-wrap in body

Код html не видел функцию del.
Но этого недостаточно.

$(document).ready(function() {

     function del() {

         function del() {

             var str = document.getElementById('phone').val;

             document.getElementById('phone').val = str.substring(0, str.length - 1);

         }

     }

 });


Тут во-первых верхняя функция del будет видна только внутри function() {},
но она ничего делать не будет, а просто внутри себя определять ещё одну функцию del

Так что функцию del надо написать так:
function del() {
   var str = document.getElementById('phone').val;
   document.getElementById('phone').val = str.substring(0, str.length - 1);
}


и вытащить на самый верх, чтобы из html её можно было вызывать.

Но не
document.getElementById('phone').val;,
а
document.getElementById('phone').value;

и вообще если мы юзаем Jquery, то можно так:
var str = $('#phone).val();
$('#phone').val(str.substring(0, str.length - 1));


И там ещё скрипт один не подгружается, и валил скрипт. Я его отключил.
Он не подключался так как фиддлер открывается по https, а скрипт подключался по http.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы