Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.01.2019, 12:17
Профессор
Отправить личное сообщение для Igorsrt Посмотреть профиль Найти все сообщения от Igorsrt
 
Регистрация: 21.02.2016
Сообщений: 271

Маска телефона
Здравствуйте!
На сайте установлен скрипт mask-input с форматом "+7 (999) 999-99-99", но клиенты все равно уперто вводят свою восьмерку в начало телефонного номера. Можно ли сделать, что бы эта "8" игнорировалась, если ее вставляют в начало номера?

Последний раз редактировалось Igorsrt, 28.01.2019 в 12:43.
Ответить с цитированием
  #2 (permalink)  
Старый 28.01.2019, 13:42
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

<input type="text">
<script>
  document.querySelector('input').oninput = function() {
     var str = this.value;
     if(str.indexOf('8') == 0) {
        str = str.replace('8','+7');
        this.value = str;
     } 
  }
</script>

Но вообще-то нужно смотреть ваш скрипт mask-input
Ответить с цитированием
  #3 (permalink)  
Старый 28.01.2019, 13:56
Профессор
Отправить личное сообщение для Igorsrt Посмотреть профиль Найти все сообщения от Igorsrt
 
Регистрация: 21.02.2016
Сообщений: 271

вот так это выглядит:
<form class="form-send" data-yaid="zakaz_form">
			    <h2>Заказать звонок</h2>
			    <h3>Наш специалист свяжется с вами в ближайшее время</h3>
				<input type="text" name="name" placeholder="Ваше имя*" class="required">
				<input type="text" name="phone" placeholder="Ваш телефон*" class="required">
				<input type="submit" value="Заказать звонок" class="btn" return="" true;"="">
				<input type="hidden" name="form" value="Заказ звонка">
				<label style="display: block;font-size: 12px;text-align: center;margin: 20px 0;" class="accept">
				    <input type="checkbox" name="accept"> 
				    Нажимая на кнопку, вы даете <a target="_blank" href="/docs/policy.pdf">согласие</a> на обработку своих персональных данных
				</label>
			</form>


а скрипт стандартный https://drive.google.com/open?id=12a...fs9DxsoLHuOhUJ

Последний раз редактировалось Igorsrt, 28.01.2019 в 14:04.
Ответить с цитированием
  #4 (permalink)  
Старый 28.01.2019, 14:05
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

А где скрипт mask-input?
Ответить с цитированием
  #5 (permalink)  
Старый 28.01.2019, 14:11
Профессор
Отправить личное сообщение для Igorsrt Посмотреть профиль Найти все сообщения от Igorsrt
 
Регистрация: 21.02.2016
Сообщений: 271

https://drive.google.com/open?id=12a...fs9DxsoLHuOhUJ
ну и сама маска:
// маска
	$("input[name=phone]").mask("+7 (999) 999-99-99");

Последний раз редактировалось Igorsrt, 28.01.2019 в 14:19.
Ответить с цитированием
  #6 (permalink)  
Старый 28.01.2019, 14:42
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Не знаю, что у вас за плагин, но вот пример
<input type="text" name="phone" placeholder="Ваш телефон*" class="required">

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript" src = "https://snipp.ru/uploads/files/jquery.maskedinput.min.js" ></script>

<script>
$("input[name=phone]").mask("+7 (999) 999-99-99");

</script>

Последний раз редактировалось Dilettante_Pro, 28.01.2019 в 16:50.
Ответить с цитированием
  #7 (permalink)  
Старый 28.01.2019, 15:40
Профессор
Отправить личное сообщение для Igorsrt Посмотреть профиль Найти все сообщения от Igorsrt
 
Регистрация: 21.02.2016
Сообщений: 271

я извиняюсь, а в чем суть?
я попросил помощи, что бы восьмерка не вводилась первой цифрой (если вдруг кто-то ее забьет в маску)?
Ответить с цитированием
  #8 (permalink)  
Старый 28.01.2019, 15:46
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,791

Igorsrt, разрешите восьмерку вводить и не парьтесь, т.е.
$('.mask-phone').mask('+9 (999) 999-99-99');
Ответить с цитированием
  #9 (permalink)  
Старый 28.01.2019, 15:54
Профессор
Отправить личное сообщение для Igorsrt Посмотреть профиль Найти все сообщения от Igorsrt
 
Регистрация: 21.02.2016
Сообщений: 271

Сообщение от Nexus Посмотреть сообщение
Igorsrt, разрешите восьмерку вводить и не парьтесь, т.е.
$('.mask-phone').mask('+9 (999) 999-99-99');
сорри, что-то я туплю сегодня... в чем здесь решение?
Проблема в том, что люди забивают номер "по привычке" вместе с восьмеркой и последняя цифра, соответственно не сохраняется (так как в маске всего 10 цифр) - перезванивать не понятно куда
Ответить с цитированием
  #10 (permalink)  
Старый 28.01.2019, 16:08
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,791

Сообщение от Igorsrt
сорри, что-то я туплю сегодня... в чем здесь решение?
перед примером кода черным по белому написано, разве нет?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Маска для элементов TabPanel Sogl ExtJS 15 13.01.2017 22:34
Поле для ввода телефона. При потери фокуса поля, маска прячется DDim1000 Общие вопросы Javascript 1 23.11.2016 20:02
Вызов камеры телефона в браузере barmaley2015 Мобильный JavaScript 1 29.09.2015 08:22
Маска для телефона MaskedInput dreamfactor Общие вопросы Javascript 0 21.10.2013 22:32
Проверка поля Номер телефона zhuzha Общие вопросы Javascript 7 12.05.2010 16:40