keine Ausgabe von Hallo Welt nach Button im Browser

Stuhlbein

Neues Mitglied
Ich komme nicht weiter. Warum wird hier "Hallo Welt!" nicht ausgegeben?
Verwende Edge, neueste Version, JavaScript ist aktiviert.
Danke für eure Hilfe.
Java:
<!DOCTYPE html>
<html lang="de">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Mietspiegelrechner</title>
    <script>
        // Funktion, die aufgerufen wird, wenn der Button geklickt wird
        function evaluate() {
            document.getElementById("output").innerHTML = "<h3>Hallo Welt!</h3>";
        }
    </script>
</head>
<body>

    <button onclick="evaluate()">Auswertung starten</button>
    
    <div id="output"></div>

</body>
</html>
 

Oneixee5

Top Contributor
HTML:
<button onclick="evaluate()">Auswertung starten</button>
Du rufst hier die Funktion "evaluate" von document auf. evaluate erfordert aber Parameter und stürzt deswegen ab. Man sollte generell nicht so vorgehen - also inline-Code.

Man kann wie folgt vorgehen:
HTML:
<!DOCTYPE html>
<html lang="de">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Mietspiegelrechner</title>   
</head>
<body>

   <button id="btn">Auswertung starten</button>
    
   <div id="output"></div>

   <script>       
     document.getElementById("btn").addEventListener("click", () => {
       document.getElementById("output").innerHTML = "<h3>Hallo Welt!</h3>";
     });
   </script>
</body>
</html>
Script-Blöcke sind überall im HTML legal.

Es gibt auch die Möglichkeit abzufangen, wenn die Seite vollständig geladen wurde. Dann kann der Scriptblock oben im head-Block bleiben.
HTML:
<!DOCTYPE html>
<html lang="de">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Mietspiegelrechner</title>
    
    <script>
      document.addEventListener("DOMContentLoaded", () => {
      
        document.getElementById("output").innerHTML = "<h3>Die Seite wurde geladen!</h3>";
        
        document.getElementById("btn").addEventListener("click", () => {
           document.getElementById("output").innerHTML = "<h3>Hallo Welt!</h3>";
        });

      });
    </script>
</head>
<body>

   <button id="btn">Auswertung starten</button>
    
   <div id="output"></div>

</body>
</html>
 

Stuhlbein

Neues Mitglied
vielen Danke für deine schnelle Hilfe. Jetzt funktioniert es. Am Ende habe ich chatgpt und deepseek befragt und beide sind nicht auf diese Lösung gekommen, haben den Fehler nicht gefunden. Uff! :)
 

Oben