469,134 Members | 1,353 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,134 developers. It's quick & easy.

document.write

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","Fri eda","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[i] == eingabe) {
//alert(namen[i] + "<br>");
document.write (namen[i] + "<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>
Jul 23 '05 #1
1 2842
Alexander Erlich wrote:
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[i] == eingabe) {
html += namen[i] + "<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

Jul 23 '05 #2

This discussion thread is closed

Replies have been disabled for this discussion.

By using this site, you agree to our Privacy Policy and Terms of Use.