Javascript 未捕获类型错误:无法读取属性';toLowerCase';未定义的
不行!控制台日志打印:Javascript 未捕获类型错误:无法读取属性';toLowerCase';未定义的,javascript,typeerror,Javascript,Typeerror,不行!控制台日志打印: 未捕获的TypeError:无法读取未定义的属性“toLowerCase”您没有调用.toLowerCase(),但我猜您正在将其链接到.val()的末尾 问题是您的这个值是窗口,而不是#sum元素 将处理程序更改为: $('#sum').keydown(function(){ updateResultPrice(); }); function updateResultPrice() { a
未捕获的TypeError:无法读取未定义的属性“toLowerCase”您没有调用
.toLowerCase()
,但我猜您正在将其链接到.val()
的末尾
问题是您的这个值是窗口
,而不是#sum
元素
将处理程序更改为:
$('#sum').keydown(function(){
updateResultPrice();
});
function updateResultPrice() {
ajax('/payment/summ', 'price='+$(this).val());
}
$(“#sum”).keydown(updateResultPrice);// 您没有对.toLowerCase()
的调用,但我猜您正在将其链接到.val()
的末尾
问题是您的这个值是窗口
,而不是#sum
元素
将处理程序更改为:
$('#sum').keydown(function(){
updateResultPrice();
});
function updateResultPrice() {
ajax('/payment/summ', 'price='+$(this).val());
}
$(“#sum”).keydown(updateResultPrice);// 我按原样测试了您的代码,实际上没有通过控制台得到“uncaughttypeerror:cannotreadproperty'toLowerCase'ofundefined”错误。但是,我确实使用ajax()
方法触发了一个错误
代码不起作用的原因在于$(这)
将等于窗口,而不是#sum
元素。他在回答中解释了这一点
请尝试改用此代码
$('#sum').keydown(updateResultPrice); // <-- pass the function directly
function updateResultPrice() {
ajax('/payment/summ', 'price='+$(this).val().toLowerCase());
}
为了您的测试乐趣,这里是上述代码的演示。我按原样测试了您的代码,实际上并没有通过控制台得到“Uncaught TypeError:Cannot read property'toLowerCase'of undefined”错误。但是,我确实使用ajax()
方法触发了一个错误
代码不起作用的原因在于$(这)
将等于窗口,而不是#sum
元素。他在回答中解释了这一点
请尝试改用此代码
$('#sum').keydown(updateResultPrice); // <-- pass the function directly
function updateResultPrice() {
ajax('/payment/summ', 'price='+$(this).val().toLowerCase());
}
为了您的测试乐趣,下面是上述代码的演示。在您发布的代码中没有调用toLowerCase
。这是因为错误是从jQuery代码中引发的,而jQuery代码正在应用.toLowerCase()
到一个显然未定义的变量。在您发布的代码中没有调用toLowerCase
。这是因为jQuery代码引发了错误,该代码正在将.toLowerCase()
应用到一个显然未定义的变量。