Cyberholli: "alert" klappt, "document.write" nicht

Hallo Ihr,

als Java-Script-Neuling übe ich gerade die String-Funktionen.

Wenn ich das Ergebnis des unten genannten Scriptes mit "alert" aufrufe, klappt alles.
Wenn ich die Ausgabe durch "document.write" ersetze, wird es mir auch angezeigt.
Aber leider hängt sich der Browser dann auf, so dass ich ihn mit einem Klick auf das X beenden muss.
Bitte teilt mir doch mit, was ich an dem Script ändern muss, um das Problem zu lösen.

Vielen Dank
Cyberholli

... und hier der Quelltext:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>Die L&auml;nge des Strings ermitteln </TITLE>
</HEAD>
<script language="JavaScript">
<!--
var TestText;
function stringlaenge()
{
 TestText=prompt("Bitte geben Sie hier einen Text zur Längenmessung ein","");
 alert("Länge des eingegebenen Textes = "+TestText.length+" Zeichen");
}
//-->
</script>

<BODY>
<form>
<input type="button" value="Hier gehts zum Textlängentest." onClick="stringlaenge()">

</form>
</BODY>
</HTML>

  1. hi,

    Wenn ich die Ausgabe durch "document.write" ersetze, wird es mir auch angezeigt.
    Aber leider hängt sich der Browser dann auf, so dass ich ihn mit einem Klick auf das X beenden muss.

    Hängt er sich wirklich auf?
    Oder ist es nicht vielleicht viel eher so, dass du durch den Zurück-Button wieder auf die Seite kommen könntest ...?
    document.write, nach dem fertig laden des Dokumentes aufgerufen, _ersetzt_ nämlich das aktuelle Dokument.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Hallo wahsaga,

      wieder was dazugelernt. Danke.
      Der Internet-Explorer klagt nicht, jedoch beim Firefox zeigt mein Maussymbol an, dass der Rechner / Browser sehr beschäftigt ist.
      Das Zurückschalten geht jedoch bei beiden Browsern.

      Aber was mache ich, wenn ich das aktuelle dokument (noch) nicht ersetzt haben möchte? Außer dem unschönen "alert"?

      Gruß Cyberholli

      1. Hi

        beschäftige dich mit Nodes. Damit dürftest du erreichen was du vorhast.

        so long
        Ole
        (8-)>

        --
        Trotz Equalizer und Compressor, der Sound wird matschig unn nett
        bässer!
        1. Hallo Ihr,

          danke für die Anregungen.

          Gruß Cyberholli

      2. hi,

        Aber was mache ich, wenn ich das aktuelle dokument (noch) nicht ersetzt haben möchte? Außer dem unschönen "alert"?

        Wenn du die Inhalte irgendwo im Dokument ausgeben möchtest, kannst du entweder über das DOM neue Elementknoten erzeugen und ins Dokument einhängen (siehe Beschreibungen des document- und node-Objektes im Javascript-Kapitel von selfhtml) - oder, wenn es einfacher gehen soll, den Inhalt eines bereits vorhandenen Elementes über dessen Eigenschaft .innerHTML manipulieren. (Um zunächst eine Referenz auf dieses Element zu erhalten, bieten sich document.getElementById() o.ä. an.)

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }