1 Funktion für alles?
ich
- javascript
Ich habe versucht mehrere Textfelder bei denen sich die Namen nur durch eine Zahl am Ende unterscheiden mit einer Funktion zu bearbeiten aber es geht nicht, da ich irgendwie nicht die Zahl am Ende übergeben kann. Es sieht etwa so aus:
function test(zahl) {
document.feld[zahl].value....etc.
}
und das Sendefeld hab ich mit der Zahl versehen:
<input type="text" name="feld1" value="0">
<input type="text" name="feld2" value="0">
<input type="button" value="Test" onClick="test(1);">
<input type="button" value="Test" onClick="test(2);">
Was ist daran falsch ???
he du :-)
Ich habe versucht mehrere Textfelder bei denen sich die Namen nur durch eine Zahl am Ende unterscheiden mit einer Funktion zu bearbeiten aber es geht nicht, da ich irgendwie nicht die Zahl am Ende übergeben kann. Es sieht etwa so aus:
function test(zahl) {
document.feld[zahl].value....etc.
}
Fehler Nr. 1 ein Textfeld ist stets dem Formelement untergeordnet und muß auch entsprechend angesprochen werden. Hast du das Form weggelassen muß es wieder rein, der NN zeigt dir sonst keine Textfelder an.
Fehler Nr. 2:
feld[zahl] hier sucht der Interpreter nach dem Objekt feld und dort nach dem Element, welches der Reihenfolge der Zahl entspricht (0=>1.Element, 1=>2.Element)
Du wilst aber den Feldname zusammensetzen:
<input type="text" name="feld1" value="0">
also brauchst du Feldname="feld"+zahl
jetzt setzt du dieses Ergebnis in die eckigen Klammern:
also document.formularname[Feldname] ....
Viele Grüße
Antje
Grüß euch,
Du wilst aber den Feldname zusammensetzen:
<input type="text" name="feld1" value="0">
also brauchst du Feldname="feld"+zahl
jetzt setzt du dieses Ergebnis in die eckigen Klammern:
also document.formularname[Feldname] ....
Afaik ist der Zwischenschritt (<ZITAT>Feldname="feld"+zahl</ZITAT>) nicht unbedingt nötig. Geht glaube ich auch so:
document.formularname['Feld' + Zahl] etc...
Liebe Grüße,
--- Ingomar Wesp
Nochmals Hallo ;-)
document.formularname['Feld' + Zahl] etc...
Ganz richtig dürfte
document.forms['Formular'].elements['Feld' + Zahl] etc...
sein. ^ Hier den echten Formularnamen rein
Sorry und nochmals
Euch zum Gruße,
--- Ingomar Wesp
Hallo Ingomar
document.formularname['Feld' + Zahl] etc...
Ganz richtig dürfte
document.forms['Formular'].elements['Feld' + Zahl] etc...
sein. ^ Hier den echten Formularnamen rein
Natürlich kenne ich die verkürzte Form ohne Zwischenschritt. Ich habe jedoch bewußt darauf verzichtet, dieses zu verwenden, weil es mir darauf ankam, deutlich zu machen, wie sich der Name bildet. Dem Frager war ja noch nicht mal die Grundlage des Vorgehens bekannt.
document.forms['Formular'].elements['Feld' + Zahl]
ist zwar fachlich perfekt aber für einen Anfänger ein wenig stark übertrieben, da sich hier blitzschnell Fehler einschleichen können. Außerdem können sowohl forms als auch elements weggelassen werden, wenn der Bezug eindeutig ist.
Viele Grüße
Antje