JavaScript onClick属性变为变量

时间:2015-09-11 05:50:20

标签: javascript

var user = [];
function doFunction()
{
    for(l=0;l<3;l++)
    {
        user.push(prompt("Bitte Mindestens 6 Zahlen von 1-49 eingeben" + "Abfrage Nr. " + (l + 1)));
    }
}
doFunction();
document.write("Ihre Eingaben: " + user);

这是工作代码,但我不希望刷新网站后该功能被激活,所以我添加了这个按钮:  并删除了doFunction();在脚本中看起来有点像这样:

<input type="button" value="Viel Glueck!" onClick="doFunction();">
<script>
    var user = [];
    function doFunction()
    {
        for(l=0;l<3;l++)
        {
            user.push(prompt("Bitte Mindestens 6 Zahlen von 1-49 eingeben" + "Abfrage Nr. " + (l + 1)));
        }
    }
    document.write("Ihre Eingaben: " + user);
</script>

按下按钮后脚本执行,但变量不再工作(它不保存输出) 有人可以帮我解决我的问题吗?

2 个答案:

答案 0 :(得分:0)

尝试将document.write移动到函数内部,如下所示:

var user = [];
    function doFunction()
    {
        for(l=0;l<3;l++)
        {
            user.push(prompt("Bitte Mindestens 6 Zahlen von 1-49 eingeben" + "Abfrage Nr. " + (l + 1)));
        }
          document.write("Ihre Eingaben: " + user);
    }

答案 1 :(得分:0)

正如已经指出的那样,您可能希望将document.write移动到您的函数中。但是,我想指出,在几乎所有情况下使用document.write开头都是一个坏主意。

为什么呢?它只适用于页面打开&#34;即正在加载。当用户按下按钮时,页面很可能已完成加载。然后浏览器将重新打开它,并在此过程中删除所有内容。阅读更多相关信息here,或查看this进一步了解。

相反,如果您想使用JavaScript向页面写一些内容,请使用DOM。首先创建一个包含内容的div

<div id="message" />

然后,如果你想写一些内容,在doFunction的情况下,请在div中添加如下内容:

document.getElementById("message").innerHTML = "Ihre Eingaben: " + user;