Перейти к содержимому


Шаблон Ввода Намера Телефона


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 48

#41 Vaccina

Vaccina

    Активный участник

  • Модераторы
  • 21 927 сообщений

Отправлено 06 Май 2017 - 00:55

Здравствуйте.

Зайдите в раздел Сайт - Редактор шаблонов - HTML - найдите:
<script type="text/javascript" src="{ASSETS_JS_PATH}jquery.maskedinput.js"></script>
<script type="text/javascript">
jQuery(function($){
$("#sites_client_phone").mask("+7 (999) 999-9999");
});
</script>

перенесите его поставив после:
<!-- Скрипты магазина -->
<script type="text/javascript" src="{ASSETS_JS_PATH}forall.js?design=sunrise"></script>
<script type="text/javascript" src="{FORALL_STYLES_PATH}fancybox/2.1.5/jquery.fancybox.js"></script>
<script type="text/javascript" src="{ASSETS_JS_PATH}main.js?design=sunrise"></script>
<script type="text/javascript" src="{ASSETS_JS_PATH}jquery.flexslider-min.js"></script>

Далее зайдите в шаблон main.js - найдите:
// Скрипты для Быстрого заказа
function quickOrderScripts(){
$(document).ready(function(){

после него вставьте:
$("#sites_client_phone").mask("+7 (999) 999-9999");

123.jpg

#42 57P

57P

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 302 сообщений

Отправлено 18 Май 2017 - 19:16

Защиту от дурака "не смогла".
если ввести несколько цифр и нажать интер то заказ оформится (промахнулись с Backspace)

#43 Danil

Danil

    Активный участник

  • Модераторы
  • 4 532 сообщений

Отправлено 22 Май 2017 - 15:25

Просмотр сообщения57P (18 Май 2017 - 19:16) писал:

Защиту от дурака "не смогла".
если ввести несколько цифр и нажать интер то заказ оформится (промахнулись с Backspace)
Здравствуйте.
Попробуйте следующий вариант:
в main.js найдите код
  // Валидация формы на странице оформления заказа
  $("#quickform").submit(function(){
	// Если форма невалидна не отправляем её на сервер
	if(!$(this).valid()) {
	  return false;
	}
и замените на
function quickvalidPhone(){
  tel = $('#quickform #sites_client_phone').val();
  check = /^((8|\+7)[\- ]?)?(\(?\d{3}\)?[\- ]?)?[\d\- ]{5,10}$/.test(tel);
  if(check == true && check != ''){
	$('#quickform .phone-error').remove();
	q1 = true;
  }
  else{
	$('#quickform .phone-error').remove();
	$('#quickform #sites_client_phone').after('<div class="phone-error">Вы ввели неверный номер телефона</div>');
  }
}
//Проверка телефона в обратном звонке.
function quickvalidCallBack(){q1 = false;quickvalidPhone();return q1;}
  // Валидация формы на странице оформления заказа
  $("#quickform").submit(function(){
	quickvalidCallBack();
	// Если форма невалидна не отправляем её на сервер
	if(!$(this).valid() || q1 == false) {
	  return false;
	}


#44 57P

57P

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 302 сообщений

Отправлено 22 Май 2017 - 16:08

Просмотр сообщенияDanil (22 Май 2017 - 15:25) писал:

Здравствуйте.
Попробуйте следующий вариант:
в main.js найдите код
// Валидация формы на странице оформления заказа
$("#quickform").submit(function(){
// Если форма невалидна не отправляем её на сервер
if(!$(this).valid()) {
	 return false;
}
и замените на
function quickvalidPhone(){
tel = $('#quickform #sites_client_phone').val();
check = /^((8|\+7)[\- ]?)?(\(?\d{3}\)?[\- ]?)?[\d\- ]{5,10}$/.test(tel);
if(check == true && check != ''){
$('#quickform .phone-error').remove();
q1 = true;
}
else{
$('#quickform .phone-error').remove();
$('#quickform #sites_client_phone').after('<div class="phone-error">Вы ввели неверный номер телефона</div>');
}
}
//Проверка телефона в обратном звонке.
function quickvalidCallBack(){q1 = false;quickvalidPhone();return q1;}
// Валидация формы на странице оформления заказа
$("#quickform").submit(function(){
quickvalidCallBack();
// Если форма невалидна не отправляем её на сервер
if(!$(this).valid() || q1 == false) {
	 return false;
}

Гуд, только надо сделать так чтобы при дописывания номера надпись исчезала, а то так и будут верить на писаному :)
и надпись под блоком сделать, сейчас где то сбоку.

#45 Danil

Danil

    Активный участник

  • Модераторы
  • 4 532 сообщений

Отправлено 22 Май 2017 - 16:41

Просмотр сообщения57P (22 Май 2017 - 16:08) писал:

Гуд, только надо сделать так чтобы при дописывания номера надпись исчезала, а то так и будут верить на писаному :)
и надпись под блоком сделать, сейчас где то сбоку.
Изменения Вам произвел, проверьте, пожалуйста.

#46 57P

57P

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 302 сообщений

Отправлено 22 Май 2017 - 18:45

У меня другая проблема возникла, в мобильной версии номер телефона вводится криво.

https://youtu.be/8PWx00GP5EI

Также в мобильной версии если нажать на интер то заказ оформится

Прикрепленные изображения

  • IMG_20170522_185331.jpg


#47 57P

57P

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 302 сообщений

Отправлено 23 Май 2017 - 20:42

может просто оставить +7, а остальное клиент сам дописывает? только после ввода номера скирпт должен преобразовать в формат +7 (999) 999-99-99

#48 Vaccina

Vaccina

    Активный участник

  • Модераторы
  • 21 927 сообщений

Отправлено 26 Май 2017 - 06:39

Здравствуйте.

К сожалению, проблемы с вводом номера на мобильном не наблюдаю.
Попробуйте в шаблоне Быстрый заказ поле:
<input id="sites_client_phone" name="form[contact][phone]" value="{ORDER_FORM_CONTACT_PHONE}" maxlength="255" class="inputText sitesclientphone" type="text"/>

заменить на:
<input id="sites_client_phone" name="form[contact][phone]" value="{ORDER_FORM_CONTACT_PHONE}" maxlength="255" class="inputText sitesclientphone" type="tel"/>
			


#49 57P

57P

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 302 сообщений

Отправлено 26 Май 2017 - 08:55

Мб особенность мобильного браузера, когда на пк хром переводишь в мобильный режим, то проблемы нет, а когда с мобильника есть.

Спасибо тег тел убил двух зайцев. Теперь и телефон нормально вводится и на интер заказ не создается.

Сбаааааасибки :)




Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных