Форматирование полученных данных в jquery

189
24 декабря 2019, 13:00

Есть у меня маска для поля input

 $("#PHONE").mask("+7 (999) 999-99-99");

В итоге при передаче он передает так как записал, а мне нужно чтобы он отправлял в формате 9999999999 без +7 скобок и тире. Подскажите как это сделать?

Answer 1

На сколько я помню, .mask ничего не передаёт, только форматирует значение инпута по маске. Задача сводится к подготовке значения перед отправкой на обработку.

$("#phone").mask("+7 (999) 999-99-99"); 
$('.numeric').on('click', function () { 
    var phone = $("#phone").val().replace(/\D/g, '').slice(1); 
    console.log(phone); 
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> 
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.mask/1.14.15/jquery.mask.js"></script> 
<input type="text" name="phone" id="phone" /> 
<input type="button" name="go" class="numeric" value="go" />

Answer 2

Можно в обрабочике события submit(), для Вашей формы (id="form"), извлечь неотформатированное значение телефона и добавить его в параметры отправляемой формы "налету":

$("#form").submit(function () { 
    $(this).append('<input type="hidden" name="raw_phone" value="' + $("#phone").cleanVal() + '" />');
});
READ ALSO
Задержка при следующим each

Задержка при следующим each

Как сделать, чтобы переходил к следующей форме через 2 секунды?

200
JS / JQuery Найти индекс массива в объекте

JS / JQuery Найти индекс массива в объекте

Есть следующий объект: subcats = {20: [49, 50, 51], 16: [54, 55]};

183
Как сделать плавное выпадающее меню?

Как сделать плавное выпадающее меню?

Помогите, пожалуйста, сделать плавное выпадающее менюКод ниже работает, но дропдаун не анимированный

166
Считать несколько строк с клавиатуры в переменную

Считать несколько строк с клавиатуры в переменную

У меня есть прибор, который работает в режиме клавиатурыОн делает какие-то измерения и передает их по bluetooth на ПК

210