Перейти к содержанию

как решить проблему с вводом 8-ки в начале номера телефона


Рекомендуемые сообщения

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

При оформлении заказа клиенты часто вводят номер с 8-ки. Получается так: +7(892)611-11-11 и в итоге не хватает последней цифры в номере.

Установлена симпла + в симпле настроена маска телефона.

Подскажите как можно победить эту проблему?

Ссылка на комментарий
Поделиться на другие сайты

В 20.10.2023 в 07:43, Sergeyy84 сказал:

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

При оформлении заказа клиенты часто вводят номер с 8-ки. Получается так: +7(892)611-11-11 и в итоге не хватает последней цифры в номере.

Установлена симпла + в симпле настроена маска телефона.

Подскажите как можно победить эту проблему?

Мне тоже эта тема интересна. Вот что-то дельное нашел на просторах гугла, но пока не понял, как работает) Ну и там для укр, по логике надо сделать для РФ

 

image.thumb.png.f5d2e9f6adfc7b1ea6a878a53597710f.png

Ссылка на комментарий
Поделиться на другие сайты

В 20.10.2023 в 07:43, Sergeyy84 сказал:

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

При оформлении заказа клиенты часто вводят номер с 8-ки. Получается так: +7(892)611-11-11 и в итоге не хватает последней цифры в номере.

Установлена симпла + в симпле настроена маска телефона.

Подскажите как можно победить эту проблему?

все зависит от используемого плагина для маски. симпла вроде inputmask юзает. Можно что-то типа такого

$('.phone').inputmask({
  "mask": "+7(999) 999-99-99",
  onKeyDown: function (event, buffer, caretPos, optsFunction) {
		if ((caretPos.begin == 3 || caretPos.begin == 0) && (event.key == '7' || event.key == '8' )) { 
			$(event.srcElement).val('+7(');
      return false;
		}
  }
});

 

если maskedinput то так

$('.phone').mask('+7(000) 000-00-00',
	{
		onKeyPress: function(cep, event, currentField, options) {
		if (cep.length == 4 && cep != '+7(9')
			currentField.val('+7(');
		}
	}
);

 

Ссылка на комментарий
Поделиться на другие сайты

// example of code for getting a mask of field
public function getTelephoneMask($country) {
    if ($country==176) {
        return '+7(999)999-99-99';
    }
    if ($country==220) { //украина
        return '+389(99)999-9999';
    }
    if ($country==20) { //белоруссия
        return '+375(99)999-99-99';
    }
    if ($country==109) { //казахстан
        return '+7(999)999-99-99';
    }
    return '';
}

 

если вы понимаете о чем речь

 

 

Ссылка на комментарий
Поделиться на другие сайты

Спасибо за варианты.

А куда прописывать предложенный код для теста? В симпле где-то?

Или тут только программист справится?

Изменено пользователем Sergeyy84
Ссылка на комментарий
Поделиться на другие сайты

В 21.10.2023 в 12:18, Sergeyy84 сказал:

Или тут только программист справится?

ну сейчас любая домохозяйка в декрете может стать программистом после двухдневных курсов

 

 

Ссылка на комментарий
Поделиться на другие сайты

В 21.10.2023 в 09:18, Sergeyy84 сказал:

Спасибо за варианты.

А куда прописывать предложенный код для теста? В симпле где-то?

Или тут только программист справится?

$(document).ready(function(){
	$('#customer_telephone').inputmask({
		onKeyDown: function (event, buffer, caretPos, optsFunction) {
			if ((caretPos.begin == 3 || caretPos.begin == 0) && (event.key == '7' || event.key == '8' )) { 
				$(event.srcElement).val('+7(');
				return false;
			}
		}
	});
});

попробуйте добавить такой код в common.js или (без document ready, т.е. без 1 и последней строчек) в simplecheckout.js после self.initMasks();

или во вьюху simplecheckout_customer в тег <script>

я не проверял как именно оно сработает, надо чтобы этот код выполнился после применения маски симплой

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...