1

我有三个用于在网页上输入电话号码的输入框:

 XXX XXX XXXX

我需要在您键入时在框之间移动用户的 JavaScript。在第三个字符之后,它会将您移动到第二个框,等等...

过去,我在退格方面遇到了麻烦。当我从第二个框中单击退格键时,它使我进入第一个,但随后又将我射回第二个。

做这个的最好方式是什么?

4

4 回答 4

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>
于 2009-03-31T15:47:02.873 回答
1

就个人而言,我几乎接受任何东西并担心在服务器端重新格式化它。我不得不使用这么多糟糕的 javascript 电话格式化程序,所以我不是一个大粉丝。

于 2009-03-31T15:36:44.317 回答
0

我建议使用这个一盒解决方案而不是三个。它减轻了许多令人头疼的问题和在盒子之间弹跳的边缘情况,让第一个盒子做 a .select(),然后用户点击删除,并擦除他们的条目。好恶心。

http://javascript.internet.com/forms/format-phone-number.html

您可能想要的所有自动格式化。当然,这是北美标准,您必须针对 RestOfTheWorld 进行修改。

于 2009-03-31T15:48:09.000 回答
-3

当第一个字段具有焦点时,我会使用一个键侦听器来检查输入,计算已经输入的字符数,如果输入了足够多的字符,则将焦点移到第二个字段,依此类推。

希望这可以帮助,

尤瓦尔=8-)

于 2009-03-31T15:48:52.697 回答