document.write

  • Thread starter Alexander Erlich
  • Start date
A

Alexander Erlich

Hallo!

Könnt ihr mir sagen, wie document.write genau funktioniert und warum es
solch gewaltige Unterschiede in der Interpretation bei Browsern gibt?

Ich habe heute vielleicht eine Dreiviertelstunde lang mit einem Programm
gekämpft. Es ist ein ganz simples JavaScript-Programm mit einem Formular,
welches einen Button enthält, über den eine Funktion aufgerufen wird. Die
gewünschte Ausgabe mit alert() funktioniert wunderbar, aber document.write()
macht bei manchen Browsern Schwierigkeiten. Dort lief es auf Windows, auf
Mac versagte es aber seinen Dienst und gab eine unerklärliche Fehlermeldung
aus, das array "punkt" sei nicht bekannt.

Hoffe auf ein wenig Klarheit.

Gruß
Alexander

---------------

<html>
<head><title> Alexander Erlich A2</title>
<script language ="JavaScript" type="text/javascript">

var namen=new
Array("Anne","Berta","Claudia","Dora","Erika","Frieda","Gerda","Hanna","Ina","Jana");
var punkt=new Array(8,1,15,3,12,8,3,7,5,9);


function ausgabe() {
var i;
var counter=0;
var eingabe = window.document.klausur.punktangabe.value;
eingabe = parseInt(eingabe);
alert (eingabe);

for (i=0; i<punkt.length; i++) {
if (punkt == eingabe) {
//alert(namen + "<br>");
document.write (namen + "<br>") // !
counter++;
}
}

document.write ("Es gibt " + counter + " Teilnehmer mit " + eingabe + "
Punkten.<br> ");

}



</script>
</head>
<body>
<h1> Klausurergebnis </h1>
<form name="klausur">
<br><br> Gib hier die Punktzahl an, f&uuml;r die du die Teilnehmer
suchst:
<input type="text" name="punktangabe" value=3>
<input type="button" name="aus" value="Ausgeben" onClick="ausgabe();">
</form>
</body>
</html>
 
J

Janwillem Borleffs

Alexander said:
Könnt ihr mir sagen, wie document.write genau funktioniert und warum
es solch gewaltige Unterschiede in der Interpretation bei Browsern
gibt?

When you call document.write() when the initial output is generated, it
overwrites the output completely, including JavaScript declarations.

For what you want to do, it is best to use
document.getElementID(id).innerHTML as follows:

In function ausgabe():

var html = '';
for (i = 0; i < punkt.length; i++) {
if (punkt == eingabe) {
html += namen + "<br>";
counter++;
}
}
html += "Es gibt " + counter + " Teilnehmer mit " + eingabe + "
Punkten.<br> ";
document.getElementByID('result').innerHTML = html;

And in the HTML:

<h1> Klausurergebnis </h1>
<div id="result"> </div>
<form name="klausur">
....


JW
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,903
Latest member
orderPeak8CBDGummies

Latest Threads

Top