我有三个输入框用于在网页上输入电话号码:
XXX XXX XXXX
我需要JavaScript,在您键入时在框之间移动用户。在第三个字符之后,它会将您移动到第二个框等...
过去,我在退格时遇到了麻烦。当我从第二个框中点击退格键时,它将我放在第一个框中,然后将我射回第二个框。
这样做的最佳方式是什么?
答案 0 :(得分:5)
您应该使用 jQuery AutoTab
示例这样的代码
<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>
答案 1 :(得分:1)
就个人而言,我只是接受任何,并担心重新格式化服务器端。我不得不使用这么多糟糕的javascript手机格式化程序,我不是一个大粉丝。
答案 2 :(得分:0)
我建议使用这个单盒解决方案而不是三个解决方案。它减轻了许多令人头疼的问题,并在盒子之间弹跳,并让第一个盒子执行.select()
,然后用户点击删除,并擦除它们的输入。令人讨厌。
http://javascript.internet.com/forms/format-phone-number.html
您可能想要的所有自动装配。当然,这是北美标准,你必须为RestOfTheWorld修改它。
答案 3 :(得分:-3)
当第一个字段有焦点时,我会使用一个键监听器来检查输入,计算已输入的字符数,如果键入了足够的字符,则将焦点移动到第二个字段,依此类推。 / p>
希望这有帮助,
Yuval = 8 - )