Javascript 无法读取属性';toLowerCase';未定义-jQuery的定义
我读过其他例子,其中Javascript 无法读取属性';toLowerCase';未定义-jQuery的定义,javascript,jquery,Javascript,Jquery,我读过其他例子,其中toLowerCase未定义,但我仍然不理解。有人能解释为什么我的功能不起作用吗 var changetTitle=function(){ var loanTitle=$(this.val(); $(this.prev().text(loanTitle); }; 一号贷款 我不确定您真正想做什么,但我将您的输入元素作为参数传递给您定义为this的函数,并将JQuery库添加到我的代码片段中。除了标题中不显示最后一个按过的键外,它也可以工作。也许你可以将它与你的toLower
toLowerCase
未定义,但我仍然不理解。有人能解释为什么我的功能不起作用吗
var changetTitle=function(){
var loanTitle=$(this.val();
$(this.prev().text(loanTitle);
};代码>
一号贷款
我不确定您真正想做什么,但我将您的输入元素作为参数传递给您定义为this
的函数,并将JQuery库添加到我的代码片段中。除了标题中不显示最后一个按过的键外,它也可以工作。也许你可以将它与你的toLowerCase功能一起使用,并根据你的喜好进行修改
var changetTitle=函数(obj){
var loanTitle=$(obj.val();
$(obj).prev().text(loanTitle);
};代码>
贷款一
在函数中,此
对象指的是窗口,而不是输入字段。将您的onkeypress
代码更新为以下内容:
<input type="text" name="loanName" onkeypress="changeTitle.call(this)" class="loanNameV1 qForms" maxlength="25" placeholder="Loan Name" />
您确定这是导致该错误的代码吗?toLowerCase甚至不叫。。。???无论如何,您需要对调用小写的变量进行空检查。@Barett是的,这就是弹出的内容,我不太确定为什么。啊,谢谢@hoyen!它现在可以工作了,但是为什么“this”指的是窗口而不是元素呢?因为函数是窗口对象的一部分,而不是输入元素对象。因此,onkeypress调用的函数是window对象的一部分。此对象将引用窗口。使用call或apply,可以将此对象的引用更改为另一个对象。在本例中,输入字段为。当你有机会时,研究“打电话”和“申请”。它将帮助您更好地理解它。此外,onkeypress是输入字段对象的一部分,因此该对象将引用输入字段。