我正在尝试创建一个在3个字符后输入“ - ”的输入表单。像这样的“123-456-789”。
一切都很好,除非我输入输入字段时,“undefined”一词出现在3个字符后面。我想这个问题出现在我的浏览器上,它在Internet Explorer 11上运行,但是当我在IE7上运行它时,输入字段上会出现'undefined'这个词。我希望它也兼容IE7。希望有人帮助我。
这就是我所拥有的:
$('.taxidno').live('keypress', function () {
var theEvent = window.event;
var key = theEvent.keyCode || theEvent.which;
key = String.fromCharCode(key);
var regex = /^[a-zA-Z0-9]*$/;
if (!regex.test(key)) {
theEvent.returnValue = false;
if (theEvent.preventDefault) theEvent.preventDefault();
}
var str = $(this).val().replace(/-/g, '');
var newVal2 = '';
var returnVal = '';
if (str.length > 19) {
return false;
}
if (str.length != 0 && str.length % 3 == 0) {
for (var i = 0; i < str.length; i++) {
newVal2 += str[i];
if (newVal2.length != 0 && newVal2.length % 3 == 0) {
returnVal += newVal2 + '-';
newVal2 = '';
}
}
$(this).val(returnVal);
}
});