簡體   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