Mesuti
@Mesuti
Senior HTML developer (c)

Как запретить удалять первый символ сразу из всех input на сайте и разрешить вводить номер телефона?

Привет!
Есть input с placeholder="введите номер телефона".
При клике на него, вставляется плюс value="+"

Как запретить удалять плюс вначале input сразу из всех полей ввода телефона на сайте и разрешить вводить номер телефона?
то есть без добавления дополнительных data атрибутов, потому что этих полей на сайте может быть сколько угодно

Песочница https://jsfiddle.net/Mesuti/oq6752rj/

Попробовал такой вариант, но выдает ошибку и не дает ввести номер телефона.

$(document).ready(function() {
        
            $( '.client-phone' ).click( function(){
                $( '.client-phone' ).val( '+' );
            });
        
            $(".client-phone").on("keyup", function() {
                var value = $(this).val();
                $(this).val($(this) + value.substring(1));
            });
        });
  • Вопрос задан
  • 81 просмотр
Решения вопроса 1
@nvdfxx
Senior Pomidor developer
$(".client-phone").on("keyup", function() {
    var value = $(this).val();
    $(this).val('+' + value.substr(value.lastIndexOf('+') + 1));
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@dimoff66
Кратко о себе: Я есть
Если плюс нельзя удалить, тогда и нет смысла добавлять его, можно его просто отображать в начале поля:

HTML:
<label class="plus"></label><input placeholder="Введите телефон" value="734" />


CSS:
input {
   padding-left: 10px;
}

label.plus {
   position: relative;
}

label:after {
   left: 2px;
   top: 1px;
   position: absolute;
   content: "+";
}
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
25 июн. 2019, в 08:45
25000 руб./за проект
25 июн. 2019, в 00:24
15000 руб./за проект