1

我有以下代码:

    <input type="text" id="wisselspelers" onkeypress="return (event.charCode == 32|| event.charCode > 64 && 
    event.charCode < 91) || (event.charCode > 96 && event.charCode < 123)">
    <button id="opslaanBtn">Wisselspeler toevoegen</button>
    <p id="opgeslagen"></p>

    <script>
        document.getElementById("opslaanBtn").addEventListener("click", myFunction)
        document.getElementById("opslaanBtn").addEventListener("click", myFunction2)

        var spelers, ab1, abc2, abcd3;
        var spelers = [];

        function myFunction() {
            var input = document.getElementById("wisselspelers").value;
   
            spelers.push(input);

            abc2 = spelers.length;
            ab1 = "<ul>";
            for (abcd3 = 0; abcd3 < abc2; abcd3++) {
                ab1 += "<li>" + spelers[abcd3] + "</li>";
            }
            ab1 += "</ul>";
            document.getElementById("opgeslagen").innerHTML = ab1;
        }

        function myFunction2() {
            document.getElementById("wisselspelers").value = "";
        }

    </script>

此代码允许某人在输入中输入一个值并将其添加到数组中。我想创建另一个按钮,它允许用户随机选择他添加到(空)数组中的一个值。

我尝试了以下代码,但此代码显示了用户添加的所有内容,并且不会随机选择一个:

  <button id="gekozenBtn">Kies een random wisselspeler</button>
    <h1 id="gekozen"></h1>

    <script>
        document.getElementById("gekozenBtn").addEventListener("click", gekozenFunction)

        var rand = Math.floor(Math.random() * spelers.length);
        var concat = spelers[rand];
        
        function gekozenFunction() {
            document.getElementById("gekozen").innerHTML = (concat);
        }
    </script>
4

1 回答 1

1

将所有代码放在同一个脚本标签中有效:

    <input type="text" id="wisselspelers" onkeypress="return (event.charCode == 32|| event.charCode > 64 && 
    event.charCode < 91) || (event.charCode > 96 && event.charCode < 123)">
    <button id="opslaanBtn">Wisselspeler toevoegen</button>
    <p id="opgeslagen"></p>
  <button id="gekozenBtn">Kies een random wisselspeler</button>
    <h1 id="gekozen"></h1>
    <script>
        document.getElementById("opslaanBtn").addEventListener("click", myFunction)
        document.getElementById("opslaanBtn").addEventListener("click", myFunction2)
        document.getElementById("gekozenBtn").addEventListener("click", gekozenFunction)

        var spelers, ab1, abc2, abcd3;
        var spelers = [];

        function myFunction() {
            var input = document.getElementById("wisselspelers").value;
   
            spelers.push(input);

            abc2 = spelers.length;
            ab1 = "<ul>";
            for (abcd3 = 0; abcd3 < abc2; abcd3++) {
                ab1 += "<li>" + spelers[abcd3] + "</li>";
            }
            ab1 += "</ul>";
            document.getElementById("opgeslagen").innerHTML = ab1;
        }

        function myFunction2() {
            document.getElementById("wisselspelers").value = "";
        }
        

        
        
        function gekozenFunction() {
        var rand = Math.floor(Math.random() * spelers.length);
        var concat = spelers[rand];
            document.getElementById("gekozen").innerHTML = (concat);
        }

    </script>

(我已将随机选择放在 gekozen 函数中,因此您可以从最新的随机值中选择随机值spelers,也许最初的问题是选择值还为时过早)

于 2021-03-02T12:43:13.417 回答