Problem mit Javascript!

M!LEZ

Cadet 3rd Year
Registriert
Sep. 2006
Beiträge
43
<html>
<head>
<title>Formular</title>
<meta name="author" content="Nico.Wenda">
<meta name="generator" content="Ulli Meybohms HTML EDITOR">

<script language="Javascript">

<!--

function bestaetigung()
{
var ausgabe, auswahl, zaehler;

ausgabe = "Liebe/r ";
ausgabe = ausgabe + document.pizza.Vorname.value;
ausgabe = ausgabe + " " + document.pizza.Name.value;
ausgabe = ausgabe + " " + "du hast"+" ";
ausgabe = ausgabe + document.pizza.Menge.value + " ";



for(zaehler=0; zaehler<3; zaehler++)
{
Eingabe=window.document.pizza.elements[zaehler].value;


if(Eingabe=="")
{
alert (window.document.pizza.elements[zaehler].name +" fehlt!");
return false;
}
}


for(zaehler=0; zaehler<=3; zaehler++)
{
if(window.document.pizza.Größe[zaehler].checked)
{
ausgabe=ausgabe+window.document.pizza.Größe[zaehler].value;
}
}



if(window.document.pizza.Pizza.selected)
{
ausgabe=ausgabe+window.document.pizza.Pizza.value;
}

window.document.pizza.ergebnis.value =ausgabe ;


}

//-->
</script>

</head>

<body text="black" bgcolor="blue" link="red" alink="#FF0000" vlink="#FF0000">

<div align="center"><u><i><b><h1><font face="Comic Sans MS">Pizza Pizza</font></h1></b></i></u></div><br>

<form name="pizza">


<div align="center"><h2><b><u>Bitten geben Sie Ihre Formalen Daten an!</u></b></h2>
<table>
<tr>
<td> Name</td>
<td> <input name="Name" size="15" maxlenght="15"></td>
</tr>
<tr>
<td> Vorname</td>

<td> <input name="Vorname" size="15" maxlenght="15"></td>
</tr>
<tr>
<td> Stra&szlig;e</td>
<td> <input name="Stra&szlig;e" size="15" maxlenght="15"></td>
</tr>
<tr>
<td> Ort</td>

<td> <input name="ort" size="15" maxlenght="15"></td>
</tr></table>
<br><h2><b><u>W&auml;hlen Sie bitte eine Pizza aus!</u></b></h2><br>
<table><tr>
<td><input type="checkbox" name="Pizza" value="salami">Salami</td>
<td><input type="text" name="Menge"></td>
<td><input type="radio" name="Gr&ouml;&szlig;e" value="kleinere">kleine</td>
<td><input type="radio" name="Gr&ouml;&szlig;e" value="mittlere">mittlere</td>
<td><input type="radio" name="Gr&ouml;&szlig;e" value="grosse">gro&szlig;e</td></td>

</tr>
<tr>
<td><input type="checkbox" name="Pizza" value="pilze">Pilze</td>
<td><input type="text" name="Menge"></td>
<td><input type="radio" name="Gr&ouml;&szlig;e" value="kleinere">kleine</td>
<td><input type="radio" name="Gr&ouml;&szlig;e" value="mittlere">mittlere</td>
<td><input type="radio" name="Gr&ouml;&szlig;e" value="grosse">gro&szlig;e</td></td>
</tr>
<tr>
<td><input type="checkbox" name"Pizza" value="schinken">Schinken</td>
<td><input type="text" name="Menge"></td>

<td><input type="radio" name="Gr&ouml;&szlig;e" value="kleine">kleine</td>
<td><input type="radio" name="Gr&ouml;&szlig;e" value="mittlere">mittlere</td>
<td><input type="radio" name="Gr&ouml;&szlig;e" value="grosse">gro&szlig;e</td></td>
</tr>
</div></table>

<div align="right"><textarea name="ergebnis" value=" " cols="9" rows="7">
</textarea></div>

<div align="center"><input type="button" value="Abschicken!" onclick="bestaetigung()"></div>
</form></body></html>


Kann mir mal einer erklären, was das elements[zaehler] bedeutet oder allgemein [zaehler]?

Wieso schreibt er in der textarea nicht die "Menge" hin, sondern schreibt "undefinded"?
 
Jedes JavaScript Element hat eine Nummer, über die man es aufrufen kann.

Diese beginnt bei 0.

Wenn du nun nicht Elements[0] sondern elements[zaehler] verwendest, heißt das, das der Wert des Elements aus einer Variable, Zähler bezogen wird.

In deinem Fall wurde der Wert der Variable Zähler, beginnend bei 0 (zaheler=0) bei jedem durchlauf um 1 erhöht (zaehler++), bis er kleiner als 3 war (zaheler<3). Damit wurden die Elemente 0, 1 und 2 des Elternelements pizza durchlaufen.


Undefined wird wahrscheinlich ausgegeben, da nirgends angegeben wird, welcher Text vordefiniert sein sollte. Das name Attribut bei Textarea bezieht sich darauf, mit welchem Wert dieses Formularelement über JavaScript angesprochen werden kann, aber nicht darauf, welcher Wert ausgegeben bzw. vordefiniert wird.

Vordefinierte Werte stehen bei Textarea zwischen dem <textarea> und dem </textarea> Tags.


so far
mfg
 
Zurück
Oben