Какой JavaScript я должен использовать для ввода телефонного номера на веб-странице?
-
22-08-2019 - |
Вопрос
У меня есть три поля ввода для ввода телефонного номера на веб-странице:
XXX XXX XXXX
Мне нужен JavaScript, который перемещает пользователя между полями по мере ввода.После третьего символа он перемещает вас во второе поле и т.д...
В прошлом у меня были проблемы с обратным пространством.Когда я нажал backspace из второго окна, это помещает меня в первое, но затем возвращает меня ко второму.
Каков наилучший способ сделать это?
Решение
Вы должны использовать jQuery - jQuery - запрос Автотаблица
Пример код, подобный этому
<div><strong>Phone Number:</strong></div>
<input type="text" name="area_code" id="area_code" maxlength="3" size="3" /> -
<input type="text" name="number1" id="number1" maxlength="3" size="3" /> -
<input type="text" name="number2" id="number2" maxlength="4" size="5" />
<script type="text/javascript">
$(document).ready(function() {
$('#area_code').autotab({ target: 'number1', format: 'numeric' });
$('#number1').autotab({ target: 'number2', format: 'numeric', previous: 'area_code' });
$('#number2').autotab({ previous: 'number1', format: 'numeric' });
});
</script>
Другие советы
Лично я бы просто принял почти что угодно и побеспокойтесь о переформатировании его на стороне сервера.Мне приходилось использовать так много плохих программ для форматирования javascript для телефонов, что я не большой их поклонник.
Я бы предложил использовать это решение из одного блока вместо трех.Это избавляет от стольких головных болей и крайних случаев перехода от одной коробки к другой, а также от того, что первая коробка выполняет .select()
, а затем пользователь нажимает удалить и стирает свою запись.Гадкий.
http://javascript.internet.com/forms/format-phone-number.html
Все автоформатирование, которое вы могли бы пожелать.Конечно, это североамериканский стандарт, и вам придется изменить его для RestOfTheWorld.
Я бы использовал прослушиватель ключей, чтобы проверить ввод текста, когда первое поле имеет фокус, подсчитать количество уже введенных символов и, если введено достаточное количество символов, переместить фокус на второе поле и так далее.
Надеюсь, это поможет,
Юваль =8-)