Как удалить литералы из маски ввода после отправки формы? - PullRequest
2 голосов
/ 21 августа 2010

Я использую плагин MaskInput Джоша Буша для jQuery в приложении веб-формы ASP.NET 3.5.

Как избавиться от литералов в файле с выделенным кодом после отправки формы?

Например: телефонный ввод с маской $("#txtPhone").mask("(99)9999-9999");

В коде позади:

string customerPhone = txtPhone.Text

Что возвращает мне: (12)3456-7890

Но это то, чтоЯ хочу: 1234567890

На странице журнала изменений плагинов говорится, что я могу использовать метод mask() без аргументов для архивирования.Но как это сделать из-за кода?!

РЕДАКТИРОВАТЬ

Мой вопрос был неясен, поэтому: я хочу отправить на сервер немаскированное значение,Как это сделать?

Ответы [ 4 ]

2 голосов
/ 28 ноября 2015

Установите для параметра removeMaskOnSubmit значение true при инициализации маски ввода

    $("#txtPhone").inputmask({removeMaskOnSubmit: true});

Или мы можем получить немаскированное значение, используя

$("#txtPhone").inputmask('unmaskedvalue');
2 голосов
/ 21 августа 2010
customerPhone = new string(customerPhone.ToCharArray()
                             .Where(c => char.IsDigit(c)).ToArray());
0 голосов
/ 21 августа 2010

Сейчас я делаю, используя submitHandler (плагин проверки) для сброса входного значения, например:

submitHandler: function(form) {
    $("#txtPhone").val($("#txtPhone").mask());
    form.submit();
},

Это решает проблему НО очень плохо пахнет ...

0 голосов
/ 21 августа 2010

Вы можете удалить нечисловые символы с помощью регулярных выражений в .NET, например:

customerPhone = Regex.Replace(customerPhone, "[^0-9]", "");
...