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


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


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

#21 Яндекс

Яндекс

    Продвинутый пользователь

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

Отправлено 24 Апрель 2016 - 10:58

/feedback

#22 Firefly

Firefly

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

  • Модераторы
  • 3 750 сообщений

Отправлено 24 Апрель 2016 - 11:55

Просмотр сообщенияЯндекс (24 Апрель 2016 - 10:58) писал:

/feedback

Здравствуйте.
Зайдите в админ. панель -> Сайт -> Редактор шаблонов -> Шаблоны -> Связь с администрацией, найдите код:
$("#contactPhone").mask("+7 (999) 999-9999");

Замените на:
$("#feedback_phone").mask("+7 (999) 999-9999");

Зайдите в админ. панель -> Сайт -> Редактор шаблонов -> Шаблоны -> Связь с администрацией, найдите код:
			<div class="feedback-str-block feedback_message-block">
				<label for="feedback_message">Текст сообщения:<span>*</span></label>
				<textarea id="feedback_message" name="form[{ANTISPAM_FORM_FIELD_NAME_FEEDBACK_MESSAGE}]" cols="100" rows="6" class="back required">{FORM_FEEDBACK_MESSAGE}</textarea>
			</div>

Замените на:
			<div class="feedback-str-block">
				<label for="feedback_phone">Телефон:<span>*</span></label>
				<input id="feedback_phone" type="text" name="form[Телефон]"  value="{FORM_FEEDBACK_PHONE}" maxlength="50"  class="inputText">
			</div>
			<div class="feedback-str-block feedback_message-block">
				<label for="feedback_message">Текст сообщения:<span>*</span></label>
				<textarea id="feedback_message" name="form[{ANTISPAM_FORM_FIELD_NAME_FEEDBACK_MESSAGE}]" cols="100" rows="6" class="back required">{FORM_FEEDBACK_MESSAGE}</textarea>
			</div>

Далее загрузите файл внутри архива из 2 сообщения темы.

#23 Яндекс

Яндекс

    Продвинутый пользователь

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

Отправлено 24 Апрель 2016 - 12:03

СПАСИБО!!!
Всё получилось как хотел.

#24 User

User

    Продвинутый пользователь

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

Отправлено 26 Апрель 2016 - 18:37

А как поправить маску, что бы первая 9 в префиксе жестко была задана? Т.е. маска вида +7 (9__) ___-____, что бы только мобильные можно было ввести.

#25 Danil

Danil

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

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

Отправлено 26 Апрель 2016 - 19:18

Просмотр сообщенияUser (26 Апрель 2016 - 18:37) писал:

А как поправить маску, что бы первая 9 в префиксе жестко была задана? Т.е. маска вида +7 (9__) ___-____, что бы только мобильные можно было ввести.
В шаблоне Быстрый заказ найдите
$("#sites_client_phone").mask("+7 (999) 999-99-99");
и замените на
$("#sites_client_phone").mask("+7 (900) 000-00-00");
В jquery.maskedinput.js найдите
'9': "[0-9]",
и замените на
'0': "[0-9]",


#26 User

User

    Продвинутый пользователь

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

Отправлено 21 Июль 2016 - 17:03

Изредка клиенты жалуются на невозможность ввода номера телефона с этим скриптом, причем так и не удалось ни самим это увидеть, ни выяснить браузер или ось, вызывающую проблему. Если кто знает - подскажите, обойдем какой-нибудь. Предположительно - это какой-то устаревший или экзотический мобильный браузер на андроиде.

#27 Stasya

Stasya

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

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

Отправлено 22 Июль 2016 - 10:46

Просмотр сообщенияUser (21 Июль 2016 - 17:03) писал:

Изредка клиенты жалуются на невозможность ввода номера телефона с этим скриптом, причем так и не удалось ни самим это увидеть, ни выяснить браузер или ось, вызывающую проблему. Если кто знает - подскажите, обойдем какой-нибудь. Предположительно - это какой-то устаревший или экзотический мобильный браузер на андроиде.

Данный плагин поддерживается бразуерами начиная с версий: Internet Explorer 7.0+, Firefox 2.0+, Safari 3.0+, Opera 9.0+, Google Chrome, IE Mobile, Android, Opera Mobile, Mobile Safari(IPhone, IPad).
Но у версий Android более ранних чем версия 4 с данным плагином возникают проблемы.

#28 User

User

    Продвинутый пользователь

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

Отправлено 02 Август 2016 - 14:56

Сообщают, что не работает на достаточно свежих телефонах и планшетах Samsung, андроид 5 версии, планшеты и телефоны этого года выпуска, браузер выяснить не удалось.
Можно как-то их отфильтровать, по user_agent или еще как? Просто исключить этот скрипт для андроидов?

#29 User

User

    Продвинутый пользователь

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

Отправлено 02 Август 2016 - 22:46

Да, убедился сам, на Samsung J1 2016г, андроид 5.1.1 в хроме и яндекс-браузере скрипт не дает ввести ничего. В штатном браузере работает.
И еще ни в одном из этих браузеров при отключенном скрипте форматирования не работает onkeypress="return keyPress('+- ()0123456789')" в инпуте телефона, т.е. вводятся любые символы.
Пока отключил для user_agent_chrome, но на десктопном-то хроме нормально работает.
Как бы все это красиво поправить?

#30 Vaccina

Vaccina

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

  • Модераторы
  • 23 788 сообщений

Отправлено 04 Август 2016 - 06:51

Можно как вариант попробовать без скрипта для поля телефона использовать:
 <input type="tel" name="tel" pattern="2[0-9]{3}-[0-9]{3}">


#31 User

User

    Продвинутый пользователь

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

Отправлено 05 Август 2016 - 17:58

Странное дело, паттерн сохраняется правильно:
<input id="sites_client_phone" name="form[contact][phone]" maxlength="18" class="required inputText" type="tel" pattern="2[0-9]{3}-[0-9]{3}">

а на сайт в хроме выводится без фигурных скобок:
<input id="sites_client_phone" name="form[contact][phone]" maxlength="18" class="required inputText" type="tel" pattern="2[0-9]-[0-9]">

Ну и сам паттерн не под мобилный номер, а под 2xxx-xxx, насколько я понимаю регулярки, но это уже мелочи, смысл понятен. Только вот почему обрезается?

#32 Vaccina

Vaccina

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

  • Модераторы
  • 23 788 сообщений

Отправлено 06 Август 2016 - 04:34

Попробуйте использовать данное поле:
<input type="tel" pattern="(\+?\d[- .]*){7,13}" title="Международный, государственный или местный телефонный номер">

Должен работать в хроме начиная с 5ой версии.

#33 Purogen

Purogen

    Пользователь

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

Отправлено 14 Август 2016 - 17:43

Добрый день.
Возможно ли сделать следующее.
При вводе, клиенту выдаётся маска +7(999)999-99-99, но далее в карточку клиента попадает телефон форматом +79999999999, т.е. без символов.
Ранее заводил клиентов непрерывным номером, сейчас при появлении клиентов с форматом +7(999)999-99-99 поиск по номеру телефона в закладке Клиенты происходит либо в одном, либо в другом формате. Например, номер 999(999)9999 не будет найден при вводе 9999999999.
Спасибо.

#34 Stasya

Stasya

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

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

Отправлено 19 Август 2016 - 13:54

Просмотр сообщенияPurogen (14 Август 2016 - 17:43) писал:

Добрый день.
Возможно ли сделать следующее.
При вводе, клиенту выдаётся маска +7(999)999-99-99, но далее в карточку клиента попадает телефон форматом +79999999999, т.е. без символов.
Ранее заводил клиентов непрерывным номером, сейчас при появлении клиентов с форматом +7(999)999-99-99 поиск по номеру телефона в закладке Клиенты происходит либо в одном, либо в другом формате. Например, номер 999(999)9999 не будет найден при вводе 9999999999.
Спасибо.

Такая ситуация происходит по причине того, что маска телефона отражается только на поле ввода телефона, и никакого отношения к админке не имеет. Именно поэтому это называется маской. Этих символов (xxx)xxxxxx фактически не существует и в заказ передаются только те символы, которые ввел покупатель. Это сделано для удобства покупателям, чтобы они понимали как необходимо вводить телефон. Телефон 999(999)9999 и 9999999999 это разные телефоны в том случае если сам покупатель их так вводит.

#35 murat-ufa

murat-ufa

    Пользователь

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

Отправлено 02 Февраль 2017 - 22:42

Просмотр сообщенияИрина345 (25 Октябрь 2014 - 11:56) писал:

Здравствуйте, вам нужно скачать архив
перед
</head>
вставьте

<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>
и добавить через сайт редактор шаблонов файл jquery.maskedinput.js
Сделал все так, но почему то не работает(

#36 Vaccina

Vaccina

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

  • Модераторы
  • 23 788 сообщений

Отправлено 03 Февраль 2017 - 07:27

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

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

замените на:
<script type="text/javascript">
jQuery(function($){
$("#feedback_phone, #sites_client_phone").mask("+7 (999) 999-9999");
});
</script>


#37 murat-ufa

murat-ufa

    Пользователь

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

Отправлено 03 Февраль 2017 - 09:31

Просмотр сообщенияVaccina (03 Февраль 2017 - 07:27) писал:

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

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

замените на:
<script type="text/javascript">
jQuery(function($){
$("#feedback_phone, #sites_client_phone").mask("+7 (999) 999-9999");
});
</script>
В обратной связи появился шаблон, а в оформлении заказа нет

#38 Ирина345

Ирина345

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

  • Модераторы
  • 5 673 сообщений

Отправлено 03 Февраль 2017 - 11:34

Просмотр сообщенияmurat-ufa (03 Февраль 2017 - 09:31) писал:

В обратной связи появился шаблон, а в оформлении заказа нет
Здравствуйте, найдите в  файле main.js

$('.deliveryRadio').click(function(){ 
	var ID = $('input[name="form[delivery][id]"]:checked').val(); 
	$('.payment').hide();
	$('.payment[rel="' + ID + '"]').show();
	$('.payment[rel="' + ID + '"]').find('input:first').prop('checked', true);
  });
после вставьте
  $("#sites_client_phone").mask("+7 (999) 999-9999");
 


#39 murat-ufa

murat-ufa

    Пользователь

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

Отправлено 03 Февраль 2017 - 12:12

Просмотр сообщенияИрина345 (03 Февраль 2017 - 11:34) писал:

Здравствуйте, найдите в  файле main.js

$('.deliveryRadio').click(function(){
var ID = $('input[name="form[delivery][id]"]:checked').val();
$('.payment').hide();
$('.payment[rel="' + ID + '"]').show();
$('.payment[rel="' + ID + '"]').find('input:first').prop('checked', true);
});
после вставьте
$("#sites_client_phone").mask("+7 (999) 999-9999");

Спасибо! Все работает!

#40 57P

57P

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

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

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

Просмотр сообщенияИрина345 (25 Октябрь 2014 - 11:56) писал:

Здравствуйте, вам нужно скачать архив
перед
</head>
вставьте

<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>
и добавить через сайт редактор шаблонов файл jquery.maskedinput.js
у меня тоже не получилось :(




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

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