你好我有一个代码,当点击一个按钮时会产生随机数,我想保留随机数的一些结果,我做了一个for循环,当点击一个按钮它保持结果但它不工作可以有人识别错误。
感谢。
HTML
<button onclick="Generate()">Generate</button>
<button onclick="Keep()">Keep Result</button>
G: <a id="generated"></a>
Keep: <a id="keep"></a>
JS
function Generate() {
var r = Math.floor(Math.random() * 100);
document.getElementById("generated").innerHTML = r;
}
function Keep() {
var i;
for(i = 0; i < letters.length; i++){
new_string = r;
}
document.getElementById("keep").innerHTML = new_string;
}
答案 0 :(得分:1)
您需要在javascript中查找并阅读变量作用域。变量r
使用函数Generate()
定义,因此它在Keep()
内没有值。与此同时,Keep()
引用了letters
,似乎没有在您的示例中定义。如果您只想保存生成的值,那么为什么要循环使用。或者这应该将值附加到列表中?无论如何,循环似乎没有多大用处,因为它一遍又一遍地赋值。
如果您要做的只是保存显示的随机值,为什么不只是获取内部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);
}
我将每个值转换为字符串,以确保您不会意外地最终添加两个数字。