繁体   English   中英

JavaScript onClick属性转换为变量

[英]JavaScript onClick attribute into variable

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>

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

尝试像这样在函数内部移动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);
    }

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

为什么? 它仅在页面“打开”(即正在加载)时起作用。 当用户按下按钮时,页面很可能已经完成加载。 然后,浏览器将重新打开它,并删除所有内容。 在这里阅读更多关于它的信息 ,或者检查这个小提琴。

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

<div id="message" />

然后,当您想编写一些东西时,在您的情况下,在doFunction ,用以下内容填充div

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM