Javascript 文本框字段在键入值时返回单词“undefined”
我试图创建一个输入表单,在3个字符后输入“-”。就像这个“123-456-789” 一切都很好,除了当我在输入字段中键入时,单词“undefined”在3个字符后显示。我想问题出在我的浏览器上,它在Internet Explorer 11上工作,但当我在IE7上运行它时,单词“undefined”出现在输入字段中。我希望它也与IE7兼容。希望有人能帮助我 这就是我所拥有的:Javascript 文本框字段在键入值时返回单词“undefined”,javascript,Javascript,我试图创建一个输入表单,在3个字符后输入“-”。就像这个“123-456-789” 一切都很好,除了当我在输入字段中键入时,单词“undefined”在3个字符后显示。我想问题出在我的浏览器上,它在Internet Explorer 11上工作,但当我在IE7上运行它时,单词“undefined”出现在输入字段中。我希望它也与IE7兼容。希望有人能帮助我 这就是我所拥有的: $('.taxidno').live('keypress', function () { var theEvent =
$('.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);
}
});
有一个很好的插件,打开控制台,看看是否有错误。我试过了,但我没有看到任何错误。