我希望在用户输入时更新在文本字段中输入的字符数量。我不会太过分。这就是我到目前为止所拥有的。它变为零。我对javascript很新,对初学者的解释会很棒。
function doThis() {
x = document.getElementById("area").textContent;
y = x.length;
document.getElementById("demo").innerHTML = y;
}

<textarea id="area" onkeydown="doThis()"></textarea>
<p id="demo">Count goes here</p>
&#13;
答案 0 :(得分:3)
要获取textarea
使用.value
的内容,请将活动更改为onkeyup
。
function doThis() {
x = document.getElementById("area").value;
y = x.length;
document.getElementById("demo").innerHTML = y;
}
<textarea id="area" onkeyup="doThis()"></textarea>
<p id="demo">Count goes here</p>
答案 1 :(得分:0)
代替textcontent
使用value
,如果您想使用keydown,请添加+1
function doThis() {
x = document.getElementById("area").value;
y = x.length + 1;
document.getElementById("demo").innerHTML = y;
}
&#13;
<textarea id="area" onkeydown="doThis()"></textarea>
<p id="demo">Count goes here</p>
&#13;
注意:如果你复制并粘贴它会给你错误的结果,所以最好使用onkeyup
答案 2 :(得分:0)
使用.querySelector()
和更少代码的替代答案:
document.querySelector('#area').onkeyup = function() {
document.querySelector('#demo').innerHTML = this.value.length;
}
<textarea id="area"></textarea>
<p id="demo">Count goes here</p>