无法读取未定义的属性“toLowerCase”-jQuery
2015-05-05
24236
我读过其他示例,其中
toLowerCase
未定义,但我仍然不明白。有人能解释为什么我的函数不起作用吗?
var changeTitle = function() {
var loanTitle = $(this).val();
$(this).prev().text(loanTitle);
};
<h2>Loan One</h2>
<input type="text" onkeypress="changeTitle()" maxlength="25" />
2个回答
在您的函数中,
this
对象引用窗口而不是输入字段。将您的
onkeypress
代码更新为以下内容:
<input type="text" name="loanName" onkeypress="changeTitle.call(this)" class="loanNameV1 qForms" maxlength="25" placeholder="Loan Name" />
Hoyen
2015-05-05
我不确定您到底想做什么,但我将您的输入元素作为参数传递给您定义为
this
的函数,并将 JQuery 库添加到我的代码片段中。它工作正常,但最后一个按键未显示在标题中。也许您可以将它与您的 toLowerCase 功能一起使用,并根据自己的喜好进行修复。
var changeTitle = function(obj) {
var loanTitle = $(obj).val();
$(obj).prev().text(loanTitle);
};
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<h2 class="nameLoan1"> Loan One </h2>
<input type="text" onkeypress="changeTitle(this);" maxlength="25" placeholder="Loan Name" />
ThisClark
2015-05-05