# document.forms problem



## Beliar (10. Feb 2005)

Hallo allerseits,
Da wir in der Schule gerade so schwachsinnige JavaScripts schreiben und ich ein problem hatte, dachte
ich vielleicht kann mir hier wer helfen.
Es ist ein einfaches Script, dass aus einem Formular 5 Noten einlesen und den Mittelwert ausgeben soll.
Aber es funzt nicht  Selbst der lehrer wusste nicht was dran falsch ist  :roll:
Hab mir mal die Ausgabe der Mozilla JavaScript Konsole angesehen. Ich habs umgeschrieben,
ausprobiert was weiss ich und trotzdem funkts nicht.


> _JavaScript Konsole_
> Fehler: document.forms[0] has no properties
> Quelldatei: file:///D:/Eigene%20Dateien/schule/MEDT/jscript/noten.html
> Zeile: 13



Es scheint als ob er die Formularelemente nicht findet. Ich habs auch schon mit document.forms["noten"] und document.noten probiert, der selbe fehler. Hier der Code:


```
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<head>
<title>Noten Prog.</title>
<script type="text/javascript">
<!--
	function mittelW() {
	  document.open();
 
		var erg = 0;
		var inp=0;

		for(var i = 0; i < (document.forms[0].elements.length)-1; i++) {
		  if ((document.forms[0].elements[i].value <= 0) || (document.forms[0].elements[i].value > 5)) {
			  do {
				  inp = prompt("Geben sie die " + document.forms[0].elements[i].name + " Note korrekt ein!");
				} while ((inp <= 0) || (inp > 5));
			}
		  erg += eval(document.forms[0].elements[i].value);
		}
		
		alert(erg / (eval(document.forms[0].elements[i].length)-1));
	  document.close();
	}
//-->
</script>
</head>
<body>


<FORM name="noten">
<table align="center" width="80%" border="0">
<tr> <td>MEDT</td> <td><input name="medt" type="text" value="0" /></td> </tr>
<tr> <td>E</td> <td><input name="e" type="text" value="0" /></td> </tr>
<tr> <td>BSCA</td> <td><input name="bsca" type="text" value="0" /></td> </tr>
<tr> <td>APR</td> <td><input name="apr" type="text" value="0" /></td> </tr>
<tr> <td>BW</td> <td><input name="bw" type="text" value="0" /></td> </tr>
<tr> <td colspan="2"><input name="mittelwert" type="button" value="Mittelwert" onclick="mittelW()" /></td> </tr>
</table>
</FORM>
</body>
</HTML>
```

Bin dankbar für jegliche Hilfe,
thx, MFG Painkiller


----------



## Manfred (10. Feb 2005)

Irgendwas scheint damit nicht zu funktionieren:

(document.forms[0].elements.length)-1)

und

document.forms[0].elements_.value

denn wenn ich mir den ersten Wert z.B. mit alert() ausgeben lassen möchte, erschein nichts! kenn mich aber da net aus, deswegen kann ich nicht mehr dazu sagen_


----------



## Beliar (18. Feb 2005)

Hallo, also das Problem hat sich endlich gelöst (ich hab seid dem posting nicht mehr daran gearbeitet, heute in der schule hab ichs abgeben müssen und deshalb schnell fertig gemacht.).
Das document.open() und so muss weg und es waren noch ein paar fehler drin.

Ehrlich, Ich HASSE javascript. Eine sowas von unschöne, typ unsichere unkonfortable Scriptsprache ist mir noch nicht unter gekommen. Ich hasse es nciht den typ angeben zu können. Ich will zahlen addieren und statt dessen wird ein String aneinander gehängt x|  argh...

MFG Painkiller


----------



## Roar (18. Feb 2005)

Painkiller hat gesagt.:
			
		

> Ehrlich, Ich HASSE javascript. Eine sowas von unschöne, typ unsichere unkonfortable Scriptsprache ist mir noch nicht unter gekommen. Ich hasse es nciht den typ angeben zu können. Ich will zahlen addieren und statt dessen wird ein String aneinander gehängt x|  argh...



naja is bei php auch nich (viel) anders  :autsch:


----------

