无法阅读属性&to toLowerCase'未定义的 - jQuery

时间:2015-05-05 02:00:06

标签: javascript jquery

我已经阅读了toLowerCase未定义的其他示例,但我仍然不了解。谁能解释为什么我的功能不起作用?



var changeTitle = function() {
    var loanTitle = $(this).val();
    $(this).prev().text(loanTitle);
};

<h2>Loan One</h2>
<input type="text" onkeypress="changeTitle()" maxlength="25" />
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:8)

在您的函数中,this对象引用窗口而不是输入字段。将您的onkeypress代码更新为以下内容:

<input type="text" name="loanName" onkeypress="changeTitle.call(this)" class="loanNameV1 qForms" maxlength="25" placeholder="Loan Name" />

答案 1 :(得分:3)

我不确定你到底想要做什么,但我将你的输入元素作为参数传递给你定义为this的函数,并将JQuery库添加到我的代码片段中。它的工作原理是,最后一个描边键不会显示在标题中。也许您可以将它与toLowerCase功能一起使用,并根据自己的喜好进行修复。

&#13;
&#13;
var changeTitle = function(obj) {
    var loanTitle = $(obj).val();
    $(obj).prev().text(loanTitle);
};
&#13;
<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" />
&#13;
&#13;
&#13;