在JavaScript中将数组打印到textarea
我正在尝试用JavaScript将数组打印到文本区域。我当前的代码只打印第一个元素而不是全部四个元素,我不知道为什么。我也尝试过使用常规for循环,但这没有什么区别在JavaScript中将数组打印到textarea,javascript,html,Javascript,Html,我正在尝试用JavaScript将数组打印到文本区域。我当前的代码只打印第一个元素而不是全部四个元素,我不知道为什么。我也尝试过使用常规for循环,但这没有什么区别 <!DOCTYPE html> <html> <head> <script type="text/javascript"> var listArray = function() { var people =
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
var listArray = function()
{
var people = ["Ben", "Joel", "Mary", "Tina"];
var scores = [88, 98, 100, 78];
for (var key in people)
{
var obj = people[key];
var num = scores[key];
var string = obj + ", " + num + "\n";
document.getElementById("box").innerHTML = string;
}
}
window.onload = function()
{
document.getElementById("show_score").onclick = showHighScore;
document.getElementById("list_array").onclick = listArray;
}
</script>
</head>
<body>
<form id="high_score" name="high_score" action="highScore.html" method="get">
<label>Results</label>
<br>
<textarea cols="50" rows="4" id="box"></textarea>
<br>
<input type="button" value="List Array" id="list_array" onclick="listArray">
<br>
<input type="button" value="Show Best Score" id="show_score" onclick="showHighScore">
</form>
</body>
</html>
var listary=函数()
{
var people=[“本”、“乔”、“玛丽”、“蒂娜”];
var得分=[88,98,100,78];
for(var关键人物)
{
var obj=人[键];
var num=分数[关键点];
变量字符串=obj+“,“+num+”\n”;
document.getElementById(“box”).innerHTML=string;
}
}
window.onload=函数()
{
document.getElementById(“show_score”).onclick=showHighScore;
document.getElementById(“列表\数组”).onclick=listArray;
}
结果
这是因为这一行
document.getElementById("box").innerHTML = string;
因此,您要说的是,将textbox
的内容替换为string
的内容。所以最后它只有最后一个元素的值
用这个代替
document.getElementById("box").innerHTML += string;
因此,它将在上一条记录之后追加下一条记录
还有一个问题,在第23行,没有定义showHighScore。您只需要附加,
。innerHTML=…
将覆盖.innerHTML+=…
附加。另请注意,showHighScore
未定义。