gpt4 book ai didi

javascript - 为什么我的 textarea 值没有从 getElementById 改变?

转载 作者:行者123 更新时间:2023-11-28 18:40:18 25 4
gpt4 key购买 nike

我的程序应该找到字符串中字符的频率,它做得非常出色。但是,它仅根据文本区域的初始值执行此操作。我需要它来更新。任何想法?这是家庭作业,因此如果您可以将答案保留为比“复制粘贴样式”更“指导样式”,我们将不胜感激。

<!DOCTYPE>
<html>
<head>
<meta charset="utf-8">
<title>THE BEST HOMEWORK EVA!</title>
<script type="text/javascript">
window.addEventListener("load", start, false);

var string;
var arr = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"];
var freq = [];

function start() {
var button = document.getElementById("countButton");
button.addEventListener("click", getFrequency, false);
}

function getFrequency() {
string = document.getElementById("inputElement").innerHTML;
var totalCharacters = string.length;
for (var i = 0; i < 26; i++) {
freq[i] = 0;
for (var j = 0; j < string.length; j++) {
if (string.charAt(j) == arr[i]) {
++freq[i];
}
}
}
document.write(document.getElementById("inputElement").innerHTML);
//initialize table
document.writeln("<table style = \"text-align: center\" border = \"1\">");
document.writeln("<th>Letter</th><th>Count</th><th>Frrequency</th>")
//construct table by row
for (var i = 0; i < 26; i++) {
document.writeln("<tr><td>" + arr[i] + "</td>");
document.writeln("<td>" + freq[i] + "</td>");
document.writeln("<td>" + (freq[i] / totalCharacters * 100) + "%</td></tr>");
}
//end table
document.writeln("</table>");
};
</script>
</head>
<body>
<h1>Computer Letter Frequency</h1>
<form action ="#">
<h2>Input:<input id="countButton" type="button" value="Count!" /></h2>
<p>
<textarea id="inputElement" rows="12" cols="80" >Enter your text here....</textarea>
</p>
<h2>Results:</h2>
<div id="outputElement"></div>
</form>
</body>
</html>

最佳答案

innerHTML <textarea>的当您输入时不会改变,因此:

string = document.getElementById("inputElement").innerHTML

将始终设置 string无论 inputElement 的值发生了多少变化,都是相同的。

value不过属性会发生变化,所以你会比innerHTML有更好的运气。 .

关于javascript - 为什么我的 textarea 值没有从 getElementById 改变?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36214003/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com