Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 文本框字段在键入值时返回单词“undefined”_Javascript - Fatal编程技术网

Javascript 文本框字段在键入值时返回单词“undefined”

Javascript 文本框字段在键入值时返回单词“undefined”,javascript,Javascript,我试图创建一个输入表单,在3个字符后输入“-”。就像这个“123-456-789” 一切都很好,除了当我在输入字段中键入时,单词“undefined”在3个字符后显示。我想问题出在我的浏览器上,它在Internet Explorer 11上工作,但当我在IE7上运行它时,单词“undefined”出现在输入字段中。我希望它也与IE7兼容。希望有人能帮助我 这就是我所拥有的: $('.taxidno').live('keypress', function () { var theEvent =

我试图创建一个输入表单,在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);
  }
});

有一个很好的插件,打开控制台,看看是否有错误。我试过了,但我没有看到任何错误。