Matthias: Script Funktioniert nicht im Natscape

Hallo,
ich habe ein Script zum druchführen von Bernoulli-Experimenten geschrieben (das sind zufallsexperimente mit zwei möglichen antworten, wie beim münzwurf). Leider funktioniert dieses script nicht im natscape, kann mir jemand sagen warum und wie ich das ändern kann????

http://home.arcor.de/matthiaspesch/bernoulli-experiment2.htm

hier der quelltext:
function bernoulli(restart) {
 kopf=0;
 zahl=0;
 zaehler=0;
 if(! restart) {
  anzahl = prompt("Wieviele durchgänge sollen gestartet werden?","");
  alert("Es wird nun "+anzahl+" mal eine Münze geworfen.\n\nEinen Moment bitte.");
 }
 else {
  anzahl = restart;
 }
 document.write("<a href="bernoulli-experiment2.htm">zurück zum Experiment</a><br><br>relative Häufigkeit für Kopf bzw. Zahl bei "+anzahl+" Durchgängen:<br>")
 while(zaehler < anzahl) {
  ergebnis = Math.random();
  if(ergebnis < 0.5) {
    kopf++;
    zaehler++;
  }
  else {
    zahl++;
    zaehler++;
  }
 }
 document.write("Es ist "+kopf+"-mal Kopf, und "+zahl+"-mal Zahl erschienen.<br>");
 alert("Es ist "+kopf+"-mal Kopf,\n und "+zahl+"-mal Zahl erschienen.");
 neu = confirm("Soll der Versuch mit "+anzahl+" durchgängen neu gestartet werden?");
 if(neu==true) {
  bernoulli(anzahl);
 }
 else{
  document.write("<a href="bernoulli-experiment2.htm">zurück zum Experiment</a>");
 }
}

vielen dank

matthias

  1. Hallo Matthias,

    das Problem liegt darin, wie Du die Ausgabe gestaltet hast: document.write schreibt immer dort hin, wo es notiert ist - und in Deinem Fall wird damit das bestehende Dokument gelöscht und dynamisch ein neues per document.write-Anweisungen geschrieben. D.h. der Quelltext (vollständig) sieht nach Funktionsstart (in Mozilla 1.0) so aus:

    <a href="bernoulli-experiment2.htm">zurück zum Experiment</a><br><br>relative Häufigkeit für Kopf bzw. Zahl bei 12 Durchgängen:<br>

    Das durch das "Überschreiben" des Dokuments auch die JavaScript-Funktion verschwunden ist, kann's dann nicht weiter gehen.

    Lösung: Ändere die Ausgabeart. Drei Optionen: Gib die Ergebnisse in Formular-Textfeldern aus, erzeuge mit DOM neue entsprechende Elemente oder schreibe die Ergebnisse mit innerHTML in bereits existierende Elemente.

    Grüße,

    Utz

    --
    Mitglied im Ring Deutscher Mäkler