Javascript I';我在这段代码中遇到了错误。这个想法是计算这个词在给定段落中重复出现的次数 函数countWords(){ s=document.getElementById(“inputString”).value; s=s.replace(/(^\s*)|(\s*$)/gi,“”; s=s.replace(/[]{2,}/gi,“”); s=s.replace(/\n/,“\n”); document.getElementById(“字数”).value=s.split(“”).length; } 要计数的文本
我得到一个未捕获的TypeError:无法读取null的属性“value”Javascript I';我在这段代码中遇到了错误。这个想法是计算这个词在给定段落中重复出现的次数 函数countWords(){ s=document.getElementById(“inputString”).value; s=s.replace(/(^\s*)|(\s*$)/gi,“”; s=s.replace(/[]{2,}/gi,“”); s=s.replace(/\n/,“\n”); document.getElementById(“字数”).value=s.split(“”).length; } 要计数的文本,javascript,Javascript,我得到一个未捕获的TypeError:无法读取null的属性“value” 请帮我解决错误好吗?您遇到了一个异常,因为您只设置了最后一个输入元素的名称,而不是id。文档。getElementById需要id属性,而不是名称 您应该在html的最后一行将名称更改为id(或添加id): 编辑:也在文本区域的第一行: Text to count在html代码上,您已在textarea和input标记上设置了name属性,但未在textarea和input标记上设置id属性 因此,当使用id获取元素时
请帮我解决错误好吗?您遇到了一个异常,因为您只设置了最后一个输入元素的名称,而不是id。
文档。getElementById
需要id属性,而不是名称
您应该在html的最后一行将名称更改为id(或添加id):
编辑:也在文本区域的第一行:
Text to count
在html代码上,您已在textarea
和input
标记上设置了name
属性,但未在textarea
和input
标记上设置id
属性
因此,当使用id获取元素时,它将在脚本上抛出错误
需要如下设置
和
标记的id,以使脚本正常工作
函数countWords(){
设s=document.getElementById(“inputString”).value;
s=s.replace(/(^\s*)|(\s*$)/gi,“”;
s=s.replace(/[]{2,}/gi,“”);
s=s.replace(/\n/,“\n”);
document.getElementById(“字数”).value=s.split(“”).length;
}
要计数的文本
您的文本区域有一个名称,而不是ID。此外,您应该获得
s的.value
,以及
s的.textContent
。。。
function countWords(){
s = document.getElementById("inputString").value;
s = s.replace(/(^\s*)|(\s*$)/gi,"");
s = s.replace(/[ ]{2,}/gi," ");
s = s.replace(/\n /,"\n");
document.getElementById("wordcount").value = s.split(' ').length;
}
<textarea name="inputString" cols="50" rows="4">
Text to count
</textarea>
<input type="button" name="Convert" value="Count Words"
onClick="countWords();">
<input name="wordcount" type="text" value="" size="6">