Javascript "hello World." wird nicht fertig geladen

M

mahed

Aktives Mitglied
Thread Starter
Dabei seit
26.03.2006
Beiträge
411
Reaktionspunkte
1
Hallo zusammen
Ich habe folgende HTML Seite geschrieben. Wenn ich auf den Knopf drücke, dann wird die HTML Seite mit "Hello World." überschrieben, allerdings steht beim Browser im Tab-Label "Verbinden..." und das Kreissymbol zeigt Lade-aktivität an (wie wenn eine Seite nicht fertig geladen wurde). Woran kann das liegen?
Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <script type="text/javascript">
            function onSubmitForm()
            {
                document.write("Hello World.");
                return true;
            } 
        </script>
    </head>
<body>
    <form onSubmit="return onSubmitForm();">
        <input type="submit" value="Hello World.">
    </form>
</body>
</html>

Vielen Dank für Hinweise.
 
naja true sagt ja dass der Submit ausgeführt werden darf und dafür fehlt das Ziel!
Versuch es mal mit return false;

Zusatztipp: Nimm Safari oder Firefox und mach die Fehlerkonsole für Javascript an!
 
das hat natürlich was. Danke für den Hinweis.
 
Neue Frage:
Wieso verharrt der Browser in diesem Fall in einer "Warteschlaufe"? Firefox zeigt an "Verbinden..." im Tab-Reiter. Hier sende ich ja aber keine Form ab, sondern führe nur einen Javascript Befehl aus (Seite mit "Hello World." überschreiben"). Braucht Javascript immer einen expliziten return call? Habe es auch mit "return false;" nach dem "write" Befehl versucht, trotzdem die Verbinden-Anzeige bleibt.
Schon klar ist das kein relevantes Beispiel, ich versuche damit aber zu lernen, deshalb bin ich froh um Hinweise auf was ich hier falsch mache.
Code:
<html>
<script type="text/javascript">
    function helloworld()
    {
        document.write("Hello World.");
    }
</script>
<body>
    <input type="button" value="Hello World." onClick="helloworld()">
</body>
</html>

Wenn ich das ganze mit CGI verknüpfe läuft es genau wie ich erwarten würde:
Code:
<html>
<script type="text/javascript">
    function helloworld()
    {
        return true;
    }
</script>
<body>
    <form action="./hello.cgi" onSubmit="return helloworld()">
        <input type="submit" value="Hello World.">
    </form>
</body>
</html>

Hier der CGI Teil:
Code:
#!/usr/bin/python

print "Content-type: text/plain\n\n"

print "Hello World."

Woran kann es liegen dass die nur-Javascript Version dieses komische Verhalten zeigt?
 
Zuletzt bearbeitet:
Zurück
Oben Unten