Variablenverwendung in Funktionen
Marcel
- javascript
0 Ashura1 Der Martin0 Marcel
Hallo zusammen,
ich habe eine Funktion, die mehrere <input type="text" /> Felder mit Hilfe von document.foo.bar.value="HierEinBeispielWert"; automatisch ausfüllen soll. bar ist hierbei ein Name, der aus 2 Teilen besteht. Da es weit über 50 dieser Felder sind, möchte ich nicht jedes Feld einzeln in den Code schreiben, da dies den Code unnötg aufblähen würde. Daher gehe ich wie folgt vor:
function Beispielwerte() {
var BspWerte=new Array(1,2,3,4,5);
var InpFeldNameTeil1=new Array("Name","Vorname","Jahrgang")
var InpFeldNameTeil2=new Array("GP1","GP2","GP3");
for (var i=1;i<BspWerte.length;i++) {
for (var j=0;j<InpFeldNameTeil1.length;j++) {
for (var k=0;k<InpFeldNameTeil2.length;k++) {
ITEM=InpFeldNameTeil1[j]+InpFeldNameTeil2[k];
document.foo.ITEM.value=BspWerte[i];
}
}
}
return;
}
Leider bekomme ich hier die Fehlermeldung, das document.foo.ITEM kein Objekt ist.
Meine Frage hierzu: Wie stell ich es an, dass ITEM nicht als ITEM sondern als dessen Inhalt, also die Kombination aus ..Teil1 und ..Teil2 angesehen wird?
Hallo Marcel.
document.foo.ITEM.value=BspWerte[i];
Meine Frage hierzu: Wie stell ich es an, dass ITEM nicht als ITEM sondern als dessen Inhalt, also die Kombination aus ..Teil1 und ..Teil2 angesehen wird?
Zum Beispiel so:
document.foo[ITEM].value=BspWerte[i];
Christian Kruses Artikel „Objekt-Handling in JavaScript“ geht hierbei etwas mehr ins Detail.
Einen schönen Samstag noch.
Gruß, Ashura
Hallo Marcel,
ITEM=InpFeldNameTeil1[j]+InpFeldNameTeil2[k];
document.foo.ITEM.value=BspWerte[i];
Leider bekomme ich hier die Fehlermeldung, das document.foo.ITEM kein Objekt ist.
das geht so auch nicht. Hier wird 'ITEM' wörtlich als Objektname verstanden. In so einem Fall kannst du aber die alternative Schreibweise verwenden:
document.foo[ITEM].value=BspWerte[i];
Dann wird ITEM als Variable ausgewertet und dessen Wert als Name des Objekts oder der Eigenschaft genommen.
Ciao,
Martin
Wow, gleich zwei Antworten so fix. Vielen Dank euch Beiden.
Schönen Tag wünsch ich. Meiner ist und nun ein bischen angenehmer geworden, da ein Problem weniger. :-)