Мои извинения, если об этом уже спрашивали. Кажется, что это было бы, но я не могу найти пример, который соответствует моему сценарию.
Я пытаюсь сделать так, чтобы в моем приложении asp. net 4.5 форма могла маскировать ввод с телефона или снимать эту маску в зависимости от состояния флажка. Я javascript грамотен, но провел большую часть своего времени в коде позади.
Я использую jquery скрипт маскирования телефона здесь: https://unpkg.com/jquery-input-mask-phone-number@1.0.11 / dist / jquery -input-mask-phone-number. js
У меня это работает без проблем, просто применяя маску США через документ. Уже так:
if ($('#<%=cbIntPhone.ClientID%>').prop('checked') == false) {
$('#<%=txtPhone.ClientID%>').usPhoneFormat({
format: '(xxx) xxx-xxxx',
});
}
, но мне трудно удалить маску, если пользователь нажимает на флажок.
Мой номер телефона ввода и флажок выглядит следующим образом:
<asp:TextBox ID="txtPhone" TabIndex="13" runat="server" MaxLength="20"></asp:TextBox><asp:CheckBox ID="cbIntPhone" runat="server" Text="International number" onchange="togglePhoneMask()"/>
Моя функция onchange выглядит так:
function togglePhoneMask() {
var cbInt = $('#<%=cbIntPhone.ClientID%>');
var txtPhone = $('#<%=txtPhone.ClientID%>');
$(cbInt).change(function () {
txtPhone[0].value = '';
if ($(cbInt).is(':checked')) {
//if (cbInt.checked == true) {
txtPhone.usPhoneFormat({ format: '', });
}
else {
txtPhone.usPhoneFormat({ format: '(xxx)xxx-xxxx', });
}
})
}
Функция выполняется и в своем текущем состоянии она не влияет на то, как маскируется номер телефона. Я пробовал и другие значения здесь (формат: «xxxxxxxxxxxx»), и некоторые из них, похоже, повреждают маску, давая несколько случайную маскировку. Я пытался делать ссылки по-другому, и необходимость добавить [0] для удаления текста заставила меня подумать, что мне нужно попробовать это там, где я тоже установил маску, но это только сгенерировало ошибки.
Так что, надеюсь, этот вопрос имеет относительно простой ответ. Как мне удалить эту маску / формат? Спасибо!