Checkboxen aktivieren
Martin
- javascript
Hallo ich hab ein Problem :/
Ich habe ein mit per PHP aus einer Datenbank generiertes Formular in tabelleform. Dabei ist halt für jede Zeile aus der Datenbank eine Zeile in der Tabelle da. Man soll alle Daten ändern können und dann mit einem einzelnen Submit-Button abschicken können.
Für die Formularauswertung brauche ich die Daten in Arrayform, darum habe ich die Formularelement nach diesem Muster benannt:
<input type="checkbox" name="lock[<? echo $begegnung[id] ?>]" <? if($begegnung[locked]) echo "checked" ?>>
Die Checkbox "lock" heisst also zB in der einen Zeile lock[5] und in einer anderen lock[9].
Dann gibt es da die Checkbox "change". Der Benutzer soll damit angeben ob er die Änderungen in dieser Zeile auch wirklich übernehmen möchte, es könnte ja sein dass er viel in der Tabelle geändert hat aber eigentlich nur ein oder zwei Zeilen wirklich in die Datenbank eintragen möchte.
So weit so gut. Jetzt suche ich aber schon seit Stunden nach einer Möglichkeit, bei der Veränderung eines der Formularelemente einer Zeile diese Checkbox "change[123]" automatisch zu aktivieren.
Ich habe bisher nur geschafft die checkbox "change" (also ohne Index) per onchange zu aktivieren.
Lange Rede kurzer Sinn, die Funktion müsste etwa so aussehen, aber sie funktioniert einfach nicht:
function changechange(id){
var x = document.begegnungen.change[id];
x.checked = 1;
}
Wohingegen
function changechange(){
var x = document.begegnungen.change;
x.checked = 1;
}
einwandfrei funktioniert (das war die Version für eine bestimmte Checkbox).
Kann mir da jemand helfen?
Hallo,
function changechange(id){
var x = document.begegnungen.change[id];
x.checked = 1;
}
Wohingegen
function changechange(){
var x = document.begegnungen.change;
x.checked = 1;
}
einwandfrei funktioniert (das war die Version für eine bestimmte Checkbox).
Kann mir da jemand helfen?
Ich denke schon. Beim ersten Script (was nicht funzt) greifst Du _NICHT_ auf die Checkbox zu, sondern auf ein Array, genauer gesagt auf das id-te Element des Arrays "change". Es gibt da also einen Konflikt in der Namensgebung. Benennen die einzlenen Checkboxen um, also z.B. change_id oder so, damit sie vom JS-Interprter nicht für ein Array gehalten werden.
Viele Grüße...
Alex :)
ja da liegt das Problem, ich brauch die [] damit ichs anschließend in php als Array behandeln kann. Gibts da keine Möglichkeit mit change[id]?
ja da liegt das Problem, ich brauch die [] damit ichs anschließend in php als Array behandeln kann. Gibts da keine Möglichkeit mit change[id]?
Ich denke nicht! Die Checkboxen sind nun mal keine Arrays und mach dem Interpreter mal klar, daß dies nur ein Name ist, der wie ein Array aussieht und er den wie ein normales Objekt behandeln soll.
Schreib Dir doch in PHP eine Routine, die dir die Werte in ein Array schauffelt:
change_x --> change[x]
Das sollte doch zu schaffen sein (wobei Du mich das nicht fragen darfst, weil ich kein PHP kann).
Viele Grüße und viel Erfolg...
Alex :)