Javascript 单击按钮时保留结果

Javascript 单击按钮时保留结果,javascript,html,Javascript,Html,你好,我有一个代码,当点击一个按钮时生成随机数,我想保留一些随机数的结果,我做了一个for循环,当点击一个按钮时,它保留了结果,但不起作用。有人能识别错误吗 谢谢 HTML 生成 保留结果 G: 保持: JS 函数生成(){ var r=Math.floor(Math.random()*100); document.getElementById(“已生成”).innerHTML=r; } 函数Keep(){ var i; 对于(i=0;i

你好,我有一个代码,当点击一个按钮时生成随机数,我想保留一些随机数的结果,我做了一个for循环,当点击一个按钮时,它保留了结果,但不起作用。有人能识别错误吗

谢谢

HTML

生成
保留结果
G:
保持:
JS

函数生成(){
var r=Math.floor(Math.random()*100);
document.getElementById(“已生成”).innerHTML=r;
}
函数Keep(){
var i;
对于(i=0;i
您需要查找并阅读javascript中的变量作用域。变量
r
是用函数
Generate()
定义的,因此它在
Keep()
中没有值。同时,
Keep()
指的是
字母
,在您的示例中似乎没有定义。如果您只想保存生成的值,那么为什么要循环处理这些内容呢。或者这是为了将值附加到列表中?无论如何,循环似乎没有多大用处,因为它所做的一切都是一次又一次地赋值

如果您只是想保存显示的随机值,为什么不直接获取内部html并使用它呢

function Keep() {
    new_string = document.getElementById("generated").innerHTML;
    document.getElementById("keep").innerHTML = new_string; 
}
如果要在每次单击按钮时将值附加到列表中,可以执行以下操作:

function Keep() {
    new_string = document.getElementById("generated").innerHTML;
    old_string = document.getElementById("keep").innerHTML;
    document.getElementById("keep").innerHTML = String(old_string) + String(new_string); 
}

我将每个值转换为一个字符串,以确保不会意外地将两个数字相加。

字母
变量是全局变量或未定义?谢谢,我希望每次按下“保持”按钮时都保留一个结果,但我不希望保留所有结果。你的帖子帮了大忙!
function Keep() {
    new_string = document.getElementById("generated").innerHTML;
    document.getElementById("keep").innerHTML = new_string; 
}
function Keep() {
    new_string = document.getElementById("generated").innerHTML;
    old_string = document.getElementById("keep").innerHTML;
    document.getElementById("keep").innerHTML = String(old_string) + String(new_string); 
}