Форматирование номера телефона попадающего в админку
Ответ: номер телефона отправляется так как его видит пользователь при вводе, с элементами маски. Если пользователь по маске ввел +7 (999) 999-99-99 то и в админку он сохранится в точно таком же формате +7 (999) 999-99-99 (при условии отсутствия доп. обработок разумеется)
2. Как поменять форматирование номера телефона сохраняющегося в админку?
Ответ: решение устанавливает маску на уровне поля ввода (ограничивая именно ввод, а не обработку), на обработку данных после отправки формы оно никак не влияет. Если мы с помощью решения установим маску +7 (999) 999-99-99, пользователь заполнит данные и на сервер они уйдут точно в таком же форматировании, например: +7 (123) 456-78-99
На уровне решения или маски на это не повлиять. Дальнейшее переформатирование сохраняемого номера (если это требуется конечно) можно делать на уровне обработки запроса на сохранение.
3. Как менять форматирование номеров при сохранении?
Влиять на форматирование номеров телефонов на сохранении можно без доработки решения, используя стандартные события битрикса не связанные с решением. Единого решения или функции тут быть не может, т.к. обработку нужно добавлять в зависимости от того в какую сущность сохраняется номер телефона.
— Форматирование номера телефона попадающего в заказ
У битрикса есть стандартное форматирование номеров телефонов в заказах — что бы оно применялось нужно в свойстве заказа указать что оно является номером телефона. Сделать это можно в Админка -> Магазин -> Настройки -> Свойства заказа -> Список свойств. Открываем нужное свойство и устанавливаем у него галочку «Является телефоном». После установки данной опции у новых заказов данные в поле номера телефона будут очищаться от символов и букв, оставляя только цифры. Тоесть телефон будет сохраняться в админку в формате 71234567899
Если вам нужно более сложное нестандартное форматирование то делать его можно с помощью обработчика OnSaleOrderBeforeSaved
— Форматирование телефона при регистрации пользователф
Если вам нужно форматировать номер телефона при регистрации пользователя, то это можно сделать с помощью события OnBeforeUserAdd
и т.д. в зависимости от сущности в которую происходит сохранение нужно искать обработчик и дописывать в него код форматирования
Маска для телефона на Битрикс
На вашем сайте уже должен быть jQuery, чуть ниже подключаем плагин inputmask:
$mask = "+7 (999) 999-99-99"; $("#PHONE").inputmask('mask', ); $(document).on("ajaxComplete", function(e)< $("#PHONE").inputmask('mask', ); >);
Как форматировать телефон для сайтов на Битриксе
Рассмотрим такой вариант вариант:
BX.addCustomEvent('onAjaxSuccess', function()< var $mask = "+7 (999) 999-99-99"; $('#soa-property-3').inputmask('mask', ); >);
Этот пример работает в компоненте оформления заказа, причем даже при отправке аякс запроса – а это выбор местоположения, доставки, оплаты, применение промокода.
Ссылка на плагин:
https://rawgit.com/RobinHerbots/jquery.inputmask/3.x/dist/jquery.inputmask.bundle.js
UPDATE: Также, есть такой вариант
$('.js-phone-mask').mask('+7 (999) 999-9999');
автор: Dmitriy
З 2011 року займаюся веб-розробкою. Зараз я – PHP Full Stack Developer.
Обговорити ваш проект, а також дізнатися більше про мене ви можете на цьому сайті:
dev.forwww.com
Читайте також:
Залишити відповідь Скасувати відповідь
Щоб відправити коментар вам необхідно авторизуватись.
Как изменить маску телефона в формах обратной связи?
Текущую редакцию Вашего 1С-Битрикс можно просмотреть на странице Обновление платформы ( Marketplace > Обновление платформы ).
Ограничений нет
Маска телефона во всех формах обратной связи
Чтобы изменить маску телефона в формах обратной связи необходимо перейти в административную часть сайта.
Настройки > Настройки продукта > Настройки модулей > Некстайп: Магнит — современный интернет-магазин.

В основных настройках в поле «Маска ввода телефона» введите необходимую вам маску номера телефона и сохраните настройки.

Данная маска будет отображаться во всех формах обратной связи, находящихся в готовом решении Некстайп: Магнит.
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.
Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала.
ООО «Некстайп» 2022 © Все права защищены
Маска ввода телефона в sale.order.ajax
Всем привет, пропадает маска ввода телефона (плагин jquery.maskedinput) после перезагрузки формы, допустим если выбираешь другой город.
В консольке браузера выводится $ is not defined, подключил прям в props_formated.php jquery, теперь не видит метод .mask() не смотря на то, что я подключал jquery.maskedinput. Кто нибудь сталкивался с этой проблемой? Есть методы решения?
Сообщений: 373 Баллов: 67 Регистрация: 13.07.2007
01.09.2015 03:06:34
А где и как подключаете?
Заглянувший
Сообщений: 7 Регистрация: 17.08.2015
01.09.2015 10:10:01
сначала подключал в общем script.js шаблона $(‘#ORDER_PROP_3’).mask(‘+7 (999) 999-99-99’);
потом непосредственно после вывода input’a с телефоном $(‘#ORDER_PROP_3’).mask(‘+7 (999) 999-99-99’); в sale.order.ajax/. ./props_formated.php
результат один, до перезагрузки формы всё работает, после нет
Сообщений: 373 Баллов: 67 Регистрация: 13.07.2007
01.09.2015 10:21:35
Скрипт плагина, что-то типа
И его инициализацию
$(document).ready(function() $(‘#ORDER_PROP_3’).mask(‘+7 (999) 999-99-99’);
>
Подключайте в template.php в его верхней части, там где весь js описан
Постоянный посетитель
Сообщений: 234 Баллов: 20 Регистрация: 09.04.2013
01.09.2015 10:26:29
Есть способ поэлегантнее
BX.addCustomEvent('onAjaxSuccess', function()< $('#ORDER_PROP_3').mask('+7 (999) 999-99-99'); >);
Можно это вписать в script.js в папке шаблона
Заглянувший
Сообщений: 7 Регистрация: 17.08.2015
01.09.2015 11:19:08
спасибо за помощь!
Постоянный посетитель
Сообщений: 206 Баллов: 32 Регистрация: 10.02.2011
16.12.2016 11:39:05
Есть еще более простое в конце метода refreshOrder добавить вызов. Другой вопрос, вы справились с глюком маски на Андроиде? Когда он вводимый телефон перемешивает?
Заглянувший
Сообщений: 35 Баллов: 1 Регистрация: 18.03.2013
27.12.2016 23:45:32
| Цитата |
|---|
| Александр Павлов написал: Другой вопрос, вы справились с глюком маски на Андроиде? Когда он вводимый телефон перемешивает? |
Как раз сегодня столкнулся на своем проекте с проблемой с плагином jquery.maskedinput на андроид телефон Galaxy S5. Глючит ввод по маске, можно вводить даже буквы, и маска не заполняется в итоге.
Раньше вроде не было этого глюка? Давно уже пользуюсь этим плагином.
На айфоне сейчас все ок.
Версия библиотеки 1.3.1.
Обновил до 1.4.1. (последняя на офф. сайте) — до конца не помогло, глючит ввод номера, цифры вводятся задом наперед.
Посмотрел, чем нынче пользуются люди — весь интернет пользуется этой библиотекой 🙂
Есть несколько модулей на маркете — тоже jquery.maskedinput.
http://dermanov.ru/#bx — профессиональная разработка сайтов на Битриксе и консультации
—
http://dermanov.ru/hosting/ — хостинг под ключ + оптимизация скорости работы сайта. Для тех, кому надоело, что сайт тормозит.
Заглянувший
Сообщений: 9 Регистрация: 03.11.2015
25.01.2017 23:49:15
| Цитата |
|---|
| Александр Павлов написал: Другой вопрос, вы справились с глюком маски на Андроиде? Когда он вводимый телефон перемешивает? |
Как раз сегодня столкнулся на своем проекте с проблемой с плагином jquery.maskedinput на андроид телефон Galaxy S5. Глючит ввод по маске, можно вводить даже буквы, и маска не заполняется в итоге.
Раньше вроде не было этого глюка? Давно уже пользуюсь этим плагином.
На айфоне сейчас все ок.
Версия библиотеки 1.3.1.
Обновил до 1.4.1. (последняя на офф. сайте) — до конца не помогло, глючит ввод номера, цифры вводятся задом наперед.
Посмотрел, чем нынче пользуются люди — весь интернет пользуется этой библиотекой
Есть несколько модулей на маркете — тоже jquery.maskedinput.
Привет всем! http://daruse.ru/proverka-vvoda-nomera-telefona-cherez-jquery — это решение вроде не глючит. Сам искал альтернативу
Посетитель
Сообщений: 23 Баллов: 3 Регистрация: 05.01.2012
15.02.2019 15:51:51
| Цитата |
|---|
| msk-develop написал: Можно это вписать в script.js в папке шаблона |
Спасибо, вы мне помогли. Решил ограничить их по id, итоговый код получился такой (использую только на странице оформления):
$(document).ready(function()< $("#soa-property-3, #soa-property-14").inputmask(); BX.addCustomEvent('onAjaxSuccess', function()< $("#soa-property-3, #soa-property-14").inputmask(); >); >);
https://forwww.ru/ — Разработка сайтов на 1С-Битрикс
Посетитель
Сообщений: 29 Баллов: 4 Регистрация: 15.11.2015
13.06.2019 18:09:05
Тема старая, но раз гугл ее выдает в поисковой выдаче, оставлю тут ссылку: https://prominado.ru/blog/bitriks-js/
Тут коллеги прописали встроенные библиотеки, в том числе и маску ввода номера телефона
Посетитель
Сообщений: 23 Баллов: 3 Регистрация: 05.01.2012
12.12.2019 01:24:29
Дополню. На другом проекте прописал в script.js (компонент оформления заказа последней версии)
BX.addCustomEvent('onAjaxSuccess', function()< var $mask = "+7 (999) 999-99-99"; $('#soa-property-3').inputmask('mask', ); >);
соответственно данный код помещаем в самом конце файла, id для свойства с телефоном (‘#soa-property-3’) указываем свой
https://forwww.ru/ — Разработка сайтов на 1С-Битрикс
Заглянувший
Сообщений: 7 Регистрация: 13.01.2018
11.01.2021 08:09:14
Привет, маску прицепил, работает! Но в заказе номе телефона через «7», у пользователя главное записывается +7. Кто знает как исправить?
Постоянный посетитель
Сообщений: 68 Баллов: 10 Регистрация: 01.06.2012
18.01.2022 17:02:52
этот способ прекрасно работает
BX.addCustomEvent('onAjaxSuccess', function()< $('#soa-property-3').mask('+7 (999) 999-99-99'); >);
Сообщений: 745 Баллов: 124 Регистрация: 29.04.2011
01.03.2023 15:45:34
Самому пригодилось!
Мой модуль Битрикс: Мультиязычность — инфоблоки на разных языках https://proger.com.ua/~ao9ln
Страницы: 1
Продукты
Управление сайтом
Битрикс24
Интернет-магазин + CRM
Решения
Для интернет-магазинов
Каталог готовых решений
Внедрение
Выбрать партнера
Проверить партнера
Стать партнером
1С-Битрикс http://www.1c-bitrix.ru Общие вопросы info@1c-bitrix.ru Приобретение и лицензирование продуктов : sales@1c-bitrix.ru Маркетинг/мероприятия/PR marketing@1c-bitrix.ru Партнерская программа partners@1c-bitrix.ru Мы работаем с 10:00 до 19:00 по московскому времени. Офис в Москве 127287 Россия Московская область Москва 2-я Хуторская улица дом 38А строение 9 Офис в Калининграде +7 (4012) 51-05-64 Офис в Калининграде 236001 Россия Калининградская область Калининград Московский проспект 261 Офис в Киеве ukraine@1c-bitrix.ru Телефон в Киеве +3 (8044)221-55-33 Офис в Киеве 01033 Украина Калининградская область Киев улица Шота Руставели 39/41 офис 1507

© 2001-2023 «Битрикс», «1С-Битрикс». Работает на 1С-Битрикс: Управление сайтом. Политика конфиденциальности
