Wieso geht document.write hier nicht?

M

mahed

Aktives Mitglied
Thread Starter
Dabei seit
26.03.2006
Beiträge
411
Reaktionspunkte
1
Minimales Beispiel:

Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
  <script>
  function writeHello()
  {
      //alert("Hello");
      document.write("hello world");
  }
  </script>
</head> 
<body> 
      <input type="button" value="writeHello" onclick="writeHello()">
</body>
</html>

Wenn ich den alert ent-auskommentiere, dann kommt der Hallo-Welt Dialog. Wieso wird "Hallo Welt" aber nicht auf die Seite geschrieben? Stattdessen starre ich auf eine blanke weisse Seite ohne gar nichts.

Danke für Hinweise.
 
?? Bei safari "geht" das, dass beim Klicken auf den Button das Wort "hello World" auftaucht. Der Button verschwindet dabei allerdings.
Wozu soll das gut sein, wenn irgendwo auf dem Bildschirm auf Tastendruck irgend etwas ausgegeben wird?
 
also, sollte das nicht so sein, dass ausser "Hallo Welt" nichts auf der Seite steht? Der ganze HTML Code wird ja mit document.write überschrieben, dh. da sollte auch kein Button mehr sein.
Das ist nicht was ich letztenendes will. Mir geht es darum Verständnis für die Funktionsweise von Javascript aufzubauen.
 
wenn ich dir was raten darf: befasse dich gleich mit jQuery anstatt mit JavaScript :) lässt sich alles deutlich einfacher lösen :)

www.jQuery.com
 
hm, ich glaub wir reden aneinander vorbei: in document.write("Hello World") steht nichts von '<input type="button">'.
Trotzdem, es bleibt das Problem, da ist kein Button, aber da sollte der String "Hello World" sein. Und der ist *auch* nicht da!?
@simush: komme gerne darauf zurück. aber ich muss erstmal etwas von den basics verstehen... bzw, weisst du was an dem Beispiel oben wirklich falsch ist?
 
Irgendwie drückst du dich komisch aus. Was willst du haben? Bei Drücken des Buttons soll der verschwinden und stattdessen "hello world" dastehen? Falls ja, in IE 8 und Firefox ist das auch so.
Falls es nur in Safari nicht klappt, ersetze deine Script-Tags mal folgendermaßen:

Code:
<script type="text/javascript">//<![CDATA[

// dein Code

//]]></script>
 
Oder willst du dass der Dialog aufgeht, UND der Text ausgegeben wird? Ich meine mich zu erinnern dass es da Probleme geben kann. Popup Dialoge sind meiner Meinung nach so oder so nicht toll. Dann lieber eine schöne CSS-Box, sieht schöner aus. ;)

Edit: In IE 8 und FF funktioniert die Kombination von Alert und document.write.
 
nein, ich will nicht alert + document.write. Ich will nur document.write. Und der button verschwindet ja nicht, es wird nur mit "Hello World" überschrieben.
CSS kommt schon, erstmal die Basics. Und ja, ist auf Safari. Danke für den Code, was bewirkt denn CDATA?
 
hm, ich glaub wir reden aneinander vorbei: in document.write("Hello World") steht nichts von '<input type="button">'.
Trotzdem, es bleibt das Problem, da ist kein Button, aber da sollte der String "Hello World" sein. Und der ist *auch* nicht da!?
@simush: komme gerne darauf zurück. aber ich muss erstmal etwas von den basics verstehen... bzw, weisst du was an dem Beispiel oben wirklich falsch ist?

Ich denke mal du hast dich dann hier vertippt? Bei mir verschwindet beim Klick der Button jedenfalls und der Text steht da?!
 
ja, schon klar. Er verschwindet, weil in document.write nicht "document.write('<input type="button">Hello World.')" steht, sondern nur "document.write('Hello World.')". Ich würde dann aber nicht sagen, dass er verschwindet, sondern dass er überschrieben wird... will hier aber nicht die Kirche ins Dorf tragen..
Ok, der Text steht bei dir da? Und auch in Safari? Kannst du den Code posten, den du benutzt?
 
Irgendwie reden wir immer noch intensiv aneinander vorbei...


So sieht die Seite aus wenn ich Deinen Code unverändert in Safari öffne.
attachment.php


So sieht es aus, wenn ich den Button klicke:
attachment.php



Und das ist der Quelltext der Seite.
attachment.php



Was willst Du erreichen, was sieht bei Dir anders aus, was geht bei Dir nicht???
 

Anhänge

  • Bildschirmfoto 2011-09-16 um 12.55.42.png
    Bildschirmfoto 2011-09-16 um 12.55.42.png
    16,6 KB · Aufrufe: 152
  • Bildschirmfoto 2011-09-16 um 12.55.33.png
    Bildschirmfoto 2011-09-16 um 12.55.33.png
    22 KB · Aufrufe: 133
  • Bildschirmfoto 2011-09-16 um 12.55.25.png
    Bildschirmfoto 2011-09-16 um 12.55.25.png
    24,5 KB · Aufrufe: 132
Genau so sieht es bei mir im IE 8 und FF (auch Windows) auch aus. Dies ist auch das richtige Resultat.
 
hey, danke für die screenshots. Ja, das ist genau was ich will. Ok, ich probiers nochmals.
 
Zurück
Oben Unten