【发布时间】:2011-05-21 10:22:13
【问题描述】:
嗨,在文本框中,当有人输入电话号码时,它会自动将其转换为 (xxx)-xxx-xxxx 这种格式,我面临的问题是在我输入电话号码并按退格键后它不是在 (xxx)-xxx 之后删除,我无法在代码中找到问题,请帮助我。
jquery 代码
$(document).ready(function()
{
$('#telephone').keypress(function(e)
{
var key = e.charCode || e.keyCode || 0;
var keychar = String.fromCharCode(key);
if ( ( ( key == 8 || key == 9 || key == 46 || key == 35 || key == 36 || (key >= 37 && key <= 40) ) && e.charCode==0 ) || (key >= 48 && key <= 57) && ($('#telephone').val().length < 14) )
{
var tlength = $('#telephone').val().length;
var tvalue = $('#telephone').val();
if(tlength == 3)
{
var tvalue = '(' + $('#telephone').val() + ')'
$('#telephone').val(tvalue);
}
var tlength = $('#telephone').val().length;
var tvalue = $('#telephone').val();
if(tlength == 5)
{
var tvalue = $('#telephone').val() + '-';
$('#telephone').val(tvalue);
}
var tlength = $('#telephone').val().length;
var tvalue = $('#telephone').val();
if( tlength == 9 )
{
var tvalue = $('#telephone').val() + '-';
$('#telephone').val(tvalue);
}
return;
}
else
{
e.preventDefault();
}
});
});
【问题讨论】:
-
问题是浏览器特有的???
-
是的,麻烦只在 Firefox 中
标签: jquery jquery-plugins jquery-validate