文本框字段返回单词' undefined'键入值时

时间:2015-01-14 02:35:30

标签: javascript

我正在尝试创建一个在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);
  }
});

0 个答案:

没有答案