/ Адаптивность / Маска для телефона

Маска для телефона

NEW

Чтобы для поля с телефоном создать такую маску (+7 (___) ___-__-__), нужно сделать следующее:

  • Установить скрипт jquery.maskedinput.min
  • Прописать для телефонных полей (.wpcf7-tel — универсальный класс для полей с телефоном) простой скрипт:
// Маска для телефона 
$(document).ready(function() {  
	$('.wpcf7-tel').mask('+7 (999) 999-9999'); 
});

IMask

Еще один классный скрипт по маске поля.

<script src="https://unpkg.com/imask"></script>

Код инициации:

IMask(
  document.getElementById('phone-mask'),
  {
    mask: '+{7}(000)000-00-00'
  }
);

С проверкой и отключением кнопки send:

var phoneMask = IMask(document.getElementById('phone-mask'), {
	mask: '+{7} (000) 000-00-00'
}).on('accept', function() {
	document.querySelector("#payment-form .submit-button").setAttribute("disabled", "");
}).on('complete', function() {
	document.querySelector("#payment-form .submit-button").removeAttribute("disabled");
});

Проверка в рамках другой проверки:

var phoneMask = IMask(document.getElementById('phone-mask'), {        
	mask: '+{7} (000) 000-00-00'    
});

if(phoneMask.on()['_unmaskedValue'].length != 11) {
	jQuery(this).addClass('not-filled');
}

Применить маску к классу:

$('.phone-mask').each(function(){
	IMask(jQuery(this)[0], {
		mask: '+{7} (000) 000-00-00'
	});
});
Указание [0] после объекта фактически вывод html представления данного объекта

И еще одна проверка внутри формы, когда маска применяется по классу:

$('.form-payment').on('change', function(){

var form = jQuery(this);

var phoneMask = IMask(form.find('[name="custNumber"]')[0], {
mask: '+{7} (000) 000-00-00'
});


form.find("*").removeClass('not-filled');

form.find('input[type="text"].required, textarea.required').each(function() {

if (jQuery(this).attr('name') === 'custNumber') {

if(phoneMask.on()['_unmaskedValue'].length != 11) {
jQuery(this).addClass('not-filled');
}

} else if (jQuery(this).attr('name') === 'custEmail') {

// Проверка E-mail
if (jQuery(this).val() === '') {
jQuery(this).addClass('not-filled');
} else if (!validateEmail(jQuery(this).val())) {
jQuery(this).addClass('not-filled');
}

} else {
if (jQuery(this).val() === '') {
jQuery(this).addClass('not-filled');
}
}

});


if ( form.find("*").hasClass('not-filled') ) {
form.find('.submit-button').attr("disabled", "");
} else {
form.find('.submit-button').removeAttr("disabled");
}

});
[site-socialshare]
  • Комментарии
  • Вложения

Добавить комментарий

Пока нет комментариев. Будь первым!

Маска для телефона
Связывание товаров по атрибутам
Рекомендации для васСвязывание товаров по атрибутамOpttour.ru
Спасибо! Наш менеджер свяжется с Вами в течении 5 минут.