#jquery #mask
#jquery #маска
Вопрос:
я использую:
<script src="jquery.js" type="text/javascript"></script>
<script src="jquery.maskedinput.js" type="text/javascript"></script>
<script>
jQuery(function($){
$("#phone").mask("(999) 999-9999? x99999", {placeholder:" "});
});
</script>
Я не знаю, пропускаю ли я что-то простое или что, или, может быть, я неправильно использовал html:
Phone number: <input type="text" id="phone" name="phoneNumber"/>
Моя цель — сделать его похожим на (999) 999-9999 со скрытым ext. 999, если он им не нужен. но весь скрипт не работает и вообще ничего не делает.
Комментарии:
1. Что вы имеете в виду под «скрытым доб. 999»? если пользователь вводит только 7 цифр, скрыть часть (999)?
2. как будто им нужно ввести только 7 цифр, это не заставляет их вводить и расширять, если они им не нужны
Ответ №1:
Вам не нужен раздел-заполнитель.
Просто добавьте
$("#phone").mask("(999) 999-9999? x99999");
Редактировать
Проверьте этот jsfiddle
Комментарии:
1. Какую версию maskedinput вы используете? Ознакомьтесь с разделом РЕДАКТИРОВАНИЯ (добавлен jsfiddle)
2. я получил код от digitalbush.com/projects/masked-input-plugin/#demo ооочень, что бы там ни использовалось …. хорошо, возможно, я полностью упустил это из виду, но я никогда не использовал jquery, вы должны загружать что-то вместе с этим кодом?
3. да, так оно и было. это было совершенно глупо с моей стороны. спасибо, что наставили меня на правильный путь
Ответ №2:
document.getElementById('kisicep_telefonu').addEventListener('input', function(e) {
var x = e.target.value.replace(/D/g, '').match(/(d{0,3})(d{0,3})(d{0,4})/);
e.target.value = !x[2] ? x[1] : '(' x[1] ') ' x[2] (x[3] ? '-' x[3] : '');
});
<div class="form-group form-material col-md-6" data-plugin="formMaterial">
<label class="form-control-label" for="kisicep_telefonu">Cep Telefonunuz</label>
<span class="required" style="color:red">*</span>
<input type="text" class="form-control" id="kisicep_telefonu" name="kisicep_telefonu" autocomplete="off" value="" placeholder="(000) 000-0000 ">
</div>