我必须创建一个函数来显示textarea中输入的字符数。我认为代码没问题,但我得到一个未定义的错误。你能告诉我为什么吗?感谢。
<html>
<head>
<style>
textarea {
width: 200px;
height: 130px
}
</style>
</head>
<body>
<textarea onkeypress="caractere()" name="numar"></textarea>
<p>Number of characters typed: <span></span></p>
<script>
function caractere() {
document.getElementsByTagName('span')[0].innerHTML = document.getElementsByName('numar')[0].length;
}
</script>
&#13;
答案 0 :(得分:0)
document.getElementsByName( 'NUMAR')[0]。长度
getElementsByName
返回HTMLCollection。当您选择[0]
时,您将选择集合中的第一个元素。 HTML元素没有length
属性。您需要获取元素的值的长度:
<html>
<head>
<style>
textarea {
width: 200px;
height: 130px
}
</style>
</head>
<body>
<textarea onkeypress="caractere()" name="numar"></textarea>
<p>Number of characters typed: <span></span></p>
<script>
function caractere() {
document.getElementsByTagName('span')[0].innerHTML = document.getElementsByName('numar')[0].value.length;
}
</script>
但是当你只选择一个元素时,使用一个返回集合的方法没什么意义。请改用querySelector:
document.querySelector('span').textContent =
document.querySelector('[name="numar"]').value.length;