Javascript JS错误,未捕获的TypeError:无法读取未定义的属性“substring”
我得到了这个错误,UncaughtTypeError:无法读取信用卡终端表单中未定义的属性“substring” 有问题的行是:$'exp-month'。valarr[2]。子字符串2,4 这就是全部功能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
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吗?