Dynamische Variablen/Formularelemente

Chino

Erfahrenes Mitglied
Hallo Forum! :)

Ich hab hier ein kleines JavaScript und steh wohl gerad was auf dem Schlauch.

Problem: Ich habe auf einer Seite vier Hidden-Fields, alle benannt nach dem Schema "auswahl" + Zahl (0-4), also z.b. "auswahl0" usw. In dieser Seite sind ebenfalls vier Checkboxen, und wenn eine angeklickt wird, dann lass ich in einer Schleife checken, welche Auswahl aktiviert wurde und welche deaktiviert ist/sind. Nun möchte ich gerne, die Value der einzelnen Hidden-Fields ändern (0 -> deaktiviert, 1 -> aktiviert).

Code:
for(var a = 0; a < optionContent.length; a++) {
     // formular
     var frm = eval(window.document.forms[0]);

     // code der checkt was aktiviert wurde
     // layer ein/ausblenden
     var field = "auswahl"+a;
     alert(field);
     frm.field.value = 1;
}

So, den Alert-Befehl gibt er mir richtig aus (z.b. "auswahl0"), aber dann bekomm ich eine Fehlermeldung "field ist Null oder kein Objekt".

Jemand n Tipp für mich?

Ein auf dem Schlauch stehender
Chino
 
Leider nicht. :(

Mit eval() hab ich das auch schon ausprobiert. Auch die Lösung mit dem Array klappt net.


Code:
var priceContent 	= new Array(1,0,0,1);
var optionContent       = new Array();

optionContent[0] = new Array("text0","option0");
optionContent[1] = new Array("text1","option1");
optionContent[2] = new Array("text2","option2");
optionContent[3] = new Array("text3","option3");

var frm = eval(window.document.forms[0]);
for(var c = 0; c < 4; c++) {
     if(priceContent[ c] == 1) {
	frm.optionContent[ c][1].checked = true;
     }
}

Die Variable priceContent ist ebenfalls ein Array, welches mir ausgibt, ob eine von den 4 Checkboxen ausgewählt (1) oder deaktiviert wurde (0).

Aber dann bekomm ich wieder die Fehlermeldung:

"optionContent ist Null oder kein Objekt".

Auch wenn ich direkt die "längere" Version
Code:
window.document.forms[0].optionContent[ c][2].checked = true;
verwende bekomm ich die gleiche Fehlermeldung.

Anscheind gibts irgendwie ein Problem wenn ich Variablen als Bezeichner für ein Form-Element verwende. Entweder hab ich gerad echt einen totalen (und dummen *g*) Fehler im Code (eher im Hirn) oder das geht nicht.
 
Hi Chino,

kannst du die ganze Seite bitte anhängen - sonst mss ich das ganze Formular nachbauen. Sollte eigentlich kein großer Fehler sein...

Wozu schreibst du das Checkbox Zeug in Hidden-Fields? Du kannst doch die Checkboxen selbst auslesen...

bye
 
crono hat gesagt.:
Hi Chino,

kannst du die ganze Seite bitte anhängen - sonst mss ich das ganze Formular nachbauen. Sollte eigentlich kein großer Fehler sein...

Die relevanten Stellen hab ich schon gepostet. Der Rest ist nur Layerhandling, was aber für die eigentliche Funktion nicht relevant ist.

Wozu schreibst du das Checkbox Zeug in Hidden-Fields? Du kannst doch die Checkboxen selbst auslesen...

Weil das eine kleine Applikation ist, die sich übere mehrere Seiten abspielt. Natürlich sollen ausgewählte Optionen gespeichert bleiben, und da bieten sich halt Hidden-Fields an, um halt die vom User ausgewählten Option über die verschiedenen Seiten "mitzuschleppen".

cyas,
Chino
 
Zurück