Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.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 JS错误,未捕获的TypeError:无法读取未定义的属性“substring”_Javascript_Jquery_Twitter Bootstrap_Payment Gateway - Fatal编程技术网

Javascript JS错误,未捕获的TypeError:无法读取未定义的属性“substring”

Javascript JS错误,未捕获的TypeError:无法读取未定义的属性“substring”,javascript,jquery,twitter-bootstrap,payment-gateway,Javascript,Jquery,Twitter Bootstrap,Payment Gateway,我得到了这个错误,UncaughtTypeError:无法读取信用卡终端表单中未定义的属性“substring” 有问题的行是:$'exp-month'。valarr[2]。子字符串2,4 这就是全部功能 function checkForReaderInput(string) { if (string.substring(0,2) == "%B") { string = string.replace('%B', ''); var arr = string.split('^'); if (arr

我得到了这个错误,UncaughtTypeError:无法读取信用卡终端表单中未定义的属性“substring”

有问题的行是:$'exp-month'。valarr[2]。子字符串2,4

这就是全部功能

function checkForReaderInput(string) {
if (string.substring(0,2) == "%B") {
string = string.replace('%B', '');
var arr = string.split('^');
if (arr[0].length == 16) {
$('#cardnumber').val(arr[0]);
$('#exp-month').val(arr[2].substring(2, 4));
$('#exp-year').val('20'+arr[2].substring(0, 2));
var nameArr = arr[1].split('/');
$('#cardholdername').val(nameArr[1]+' '+nameArr[0]);
setMOP(arr[0].substring(0,1));
}
cardParsed = true;
$('#sdkinputid_cardnumber span.errortext').hide();
return false;
}
setMOP(string.substring(0,1));  // for manual CC# entry
}
这应该做的是从cardnumber字段获取读卡器输入,并将其分离以填写表单。它确实会得到卡号字段,但光标停留在那里,表单尝试提交。只有这样才能奏效。直到我尝试将其包含在引导表单中,这才开始发生。我摆脱了所有的验证。剩下的就是条带网关脚本


页面不再可用

当我移动到新表单时,我忘记了表单周围的ID。一旦我更换了它,错误就消失了,它会自动完成

arr[2]没有返回任何内容。您正在尝试对未定义的内容执行子字符串方法。我会尝试console.log$'exp-month'.val;在页面上,我看到脚本$cardname.changefunction{checkForReaderInput$this.val;},但我没有看到id为cardname的元素。你能放一个JSFIDLE吗?