Валидация телефона и проблемы с заказом Есть решение
Смотрю, многим нужно, чтобы в поле ввода телефона стояла маска, чтобы не вводились буквы а только цифры и было ограничение в количестве цифр.
Многие поставили халявный плагин с магазина и стали возникать проблемы с оформлением заказов.
Предлагаю вам нормальный простой метод сделать маску в поле телефона без всяких плагинов.
Скачайте скрипт здесь https://yadi.sk/d/L_WVMY3jhTzqN. Либо поищите в Яндексе jquery.maskedinput.min.js и скачайте его.
Скрипт нужно будет залить на ваш сайт в папку. Смотрите скрин - http://joxi.ru/v29dJQYunw80mG
На странице cart.html в самом вверху страницы разместите этот код.
<script type="text/javascript" src="/wa-data/public/site/js/jquery.maskedinput.min.js"></script>
<script>
jQuery(function($){
$("input[name='customer[phone]").mask("+7 (999) 999-99-99");
});
</script>
Вид маски настраивается в строчках выше .mask("+7 (999) 999-99-99"). Цифра 9 будет заменена на пустое поле.
В этом случае маска будет выглядеть так http://joxi.ru/BA0n4dYhaXLEmy
Ели вам нужен формат, например, _ (___) ___-__-__, то маска будет выглядеть так - 9 (999) 999-99-99 и т.д.
Надеюсь все понятно.
И да, убедитесь, что у вас подключен скрипт jquery http://joxi.ru/vAWRYD8InLvZ2W в файле index.html
18 ответов
Или можно успеть поставить бесплатный плагин Форматирование и проверка телефона, который постоянно улучшается)
Кирилл, так это ваш плагин?
Вы почитайте тут 4-5 жалоб на то, что при установке плагина валидации телефона (и судя по всему это ваш плагин и есть) у людей перестали оформляться заказы.
Вы тоже почитайте, что вы написали: "input[name='customer[phone]". Ваш код просто не работает.
И да, src="{$wa_url}wa-data/public/site/js/jquery.maskedinput.min.js"
Я в курсе, спасибо. Уже всё поправлено и прилетело в инсталлер.
Верное написание селектора: $("input[name='customer[phone]']")
Послушайте, Владислав.
Вы (имею ввиду WA) пропустили в магазин плагин, который не тестировали. Либо тестировали тем местом, на котором сидите. Ибо если тестировали, то не было бы у людей проблем с пропадающими заказами. (Впрочем, такая ситуация не только с этим плагином. У меня их штук 30 и там каждый второй такой.)
Я грешным делом решил хоть как-то исправить ситуацию и предложил свое решение, которое работает у меня. С инпутом промахнулся при копировании кода. Да. Моя ошибка. Но если бы кто-то написал о проблеме за полчаса бы исправился.
И да, {$wa_url} ставить абсолютно не обязательно.
Мы не тестируем, мы проверяем соответствие нашим требованиям с упором на безопасность кода (которые некоторым кажутся чрезмерными) с номинальной проверкой. Это позволяет в большинстве случаев получить работоспособный код. А полноценное тестирование — задача разработчика, о чём собственно сказано в требованиях, причем 100% покрытие всех тестовых случаев — это недостижимый вариант идеалистов.
Плохой/неработающий код сказывается на мнении о разработчике и отзывах о нём. Иногда это приводит к тому, что разработчик начинает тщательней проверять свои решения.
Чего и вам рекомендую: поправить код в вашем топике, чтобы у людей, которые будут копировать строчку не было ошибок и необходимости разбираться с тем, почему оно не работает, а могли сразу сказать спасибо за решение. (Использование {$wa_url} во многих случаях занудство, но есть случаи, когда это нарушает работоспособность, как и в случае с проблемным плагином, который спотыкается при определенных настройках оформления заказов)
Ну и очень плохо, что вы не тестируете продукты, которые продаете и имеете с этого процент от продаж.
"Номинальная проверка" - это что? Наличие кода в строках?
По-моему, очевидно выявить все взаимосвязи любого плагина и набросать простенькую карту тестирования.
Если Вы умеете пользоваться форумом, то наверняка знаете, что топики редактировать спустя какое-то время (не знаю, минут 10...) нельзя. Да и незачем. Если в селекторе, который ищет по инпуту и находит хотя бы часть совпадения (при условии, что нет других аналогичных инпутов, а их в WA нет), то он привяжется.
Код рабочий - можете проверить. И не вводите людей в заблуждение!
А мне рекомендовать ничего не надо. Я не разработчик (и в душе понятия не имею, откуда у меня зеленый ярлык "Разработчик"), я обычный пользователь Вашего продукта, который в связи со своими потребностями в развитии ИМ ищет различные решения и применяет их на практике.
Не соглашусь.
Если плагины при модерации еще и будут полноценно тестировать, тогда проверка будет занимать грандиозное время. ИМХО, лучше, если нет явных косяков, выпустить и пускай люди пользуются. Таким образом охват всех возможных вариантов работы плагина будет гораздо шире. Если у кого-то что-то косячит - всегда можно написать разработчику и, если разработчик нормальный, он все быстро поправит. Да, увы .... сразу всего предусмотреть возможности нет =(
Пы.Сы. Справедливости ради, хочется отметить скорость, с которой мой последний плагин прошел все этапы. Я в шоке, если честно. Модератору, который этим занимался, огромный респект за скорость и за новые знания =)))
Это больше Кириллу спасибо за то, что так быстро реагирует и вносит изменения.
У него есть еще плагин "Кладр в облаке". Там тоже уже 2-3 новых релиза на этой неделе вышло.
А есть такие разработчики, от которых ответы либо вообще не приходят, либо приходят через пару-тройку месяцев с какой-то глупой отпиской. У меня много плагинов и я знаю, о чем говорю.
И в этом случае вам никакие модераторы не помогут. Именно поэтому нужно делать сразу нормально, с нормальным тестированием. А то, что "проверка будет занимать грандиозное время", так это только из-за того, что у WA в штате либо вообще нет тестировщика, либо его одного мало.
Я в свое время занимался тестированием ПО. Если знаешь всю структуру, то протестировать и выявить ошибки в продукте - это дело максимум одного дня (учитывая тот уровень функциональности плагинов, которые находятся в магазине WA).
В WA от силы плагинов 4-5 в месяц новых появляется, а то и меньше. Поверьте, это одному тестировщику в потолок 10 раз плюнуть, а не "грандиозное время".
В том то и дело ... "Если знаешь всю структуру", а плагины порой так пишутся, что черт ногу сломит. Фиг логику поймешь. Я, кстати, и про себе в том числе говорю. Я, когда пишу плагин, по началу не имею в голове полной структуры. Все "проявляется" в процессе. Понимаю, это, наверное, плохо. Но мне так удобнее =)
И я оооочень не завидую модераторам, которым приходится вникать в чужой код =))
Ну так может не стоит писать плагины, если не знаешь, какие функции фреймворка и установленных на него приложения он может затронуть? :)
Логично же, что поле телефона влияет на все оформление целиком. Как минимум нужно проверить - приходит ли в админку заполненное поле с телефоном после установки на него плагина.
Тут сложного ничего нет. Под структурой я имею ввиду логику работы фреймворка и приложений (магазин, в честности, т.к. львиная доля плагинов и расширений для него сделаны).
Если сейчас их выходит по 2-5 за месяц, то если вообще не писать их и не будет. Лучше уж как сейчас (а я , как заказчик, всего 2 плагина из 32 купленых забраковал). А второй забракованый быстро исправил ошибку. Так что ненадо нам модерации, цены плагинов не такие, как в том же битриксе, чтобы так париться из-за них
Всё дело в нюансах.
Может checkout.html - тогда всё работает!!!
Ну вот спугнули человека... так что можно "решено" убирать с вопроса... вообще эта проверка должна быть по умолчанию с функцией включить выключить в самом shop-script. плагин стоит 299 рублей никакой бесплатности нет, кроме того кто то из таких умников задолбал регистрировать аккаунты у меня в магазинах. вот дать бы ему в морду лично при встрече... но это потом.
Поймите товарищи разработчики данная функция является в наше время не обязательной для включения, но обязательно для присутствия... это значит что функция проверки телефона не должна явно заставлять покупателя вбивать свой телефон как положено, а только предупреждать что он ошибся и если он в сплывающем окне подтверждает что он ввел все правильно, то отправлять данные в БД ... а это задача не какого то плагина а скрипта в целом...
а само писателя взяли и оскорбили.... а между тем его оппонент получил преимущество и сейчас спокойно ввел плату за этот плагин... вы же понимаете что отсутствие конкурентных плагинов ведет к увеличению стоимости разных простых и тупых решений и "захерению" проекта webasyst в целом...
Нового и умного не появляется, а современное дефакто тормозиться в развитии... спросите у этого горе продавца за 299 рублей есть у него всплывающее окошко в плагине... и я Вам 100 процентов гарантирую что он об этом даже не думал... потому что ему не надо думать продается и продается конкурентов не было и нет ))))) а люди включающие его плагин включают изображение нечистот на рекламе с Дженифер Лопес... клиент это видит и сваливает... проверка телефона это минус 25 процентов заказов... клиент нервный пошёл )))))
Автору поста спасибо, его метод работает.
Но столкнулся с проблемой, что после валидации обязательных полей при незаполненном поле номер телефона маска перестает работать.
Автор победил эту проблему?
Если использовать скрипт из первого сообщения темы, то появится очень неприятная проблема: если в базе данных сохранен номер с восьмеркой в начале и он подставляется автоматически, то при включении маски таким способом последняя цифра номера телефона будет обрезаться.
Проблема решена в плагине "Нормальная маска телефона"