Hi
Mein Problem ist nicht ganz einfach zu erklären, aber ich versuche es mal:
Ich habe mir eine Formular-Klasse geschrieben, u.a. kommt da eine Checkboxfunktion vor. Das sieht so aus:
die Funktion add2form ist nicht wichtig, da sie nur das Formularelement in das Design-Template einfügt (ebenfalls $title und $help)
$name ist der Name und die ID der Checkbox
$value ist der Wert, den die Checkbox bei Aktivierung annimmt
$default ist der Wert, den die Checkbox beim erzeugen des Formular-Objekts hat
Der Code, der den Default-Wert setzt ist noch nicht eingebaut.
So, jetzt kommt das Problem:
Ich habe einen JS-EventHandler ($this->handler) drin, der bei Bedarf das Formular neu läd (wenn der Benutzer z.B. die Checkbox aktiviert hat und danach weitere spezielle Formularelemente eingeblendet werden sollen).
Allerdings würde nach dem Neuladen bei FALSE immer der Default-Wert benutzt werden und nicht der POST-Wert der Checkbox (logisch, da die Checkbox ja keinen FALSE-Wert annehmen kann). Ich müsste also checken, ob die POST-Variable existiert (mach ich ja bereits) und wenn nicht dann die $default benutzen. Was aber, wenn das Formular schon neulgeladen wurde und die Checkbox=FALSE ist?
Anders ausgedrückt, es soll nur beim ersten Laden der Default-Wert benutzt werden und ab dann immer der POST-Wert bis das Formular abgeschickt wird (nicht neugeladen).
Nochmal anders ausgedrückt: Wenn die Checkbox deaktivert ist und die Seite neugeladen wurde, kann ich nicht überprüfen, ob die Deaktivierung vom POST oder der $default-Variable kam.
Ich hoffe, ihr könnt mir da helfen...danke schonmal im vorraus
Viele Grüße
Frank
Mein Problem ist nicht ganz einfach zu erklären, aber ich versuche es mal:
Ich habe mir eine Formular-Klasse geschrieben, u.a. kommt da eine Checkboxfunktion vor. Das sieht so aus:
PHP-Code:
function addCheckbox($name,$title,$help,$value,$default="") {
$_POST[$name] ? $checked = "checked" : $checked = "";
$content = "<input name='$name' type='checkbox' id='$name' value='$value' $this->handler $checked> $value";
$this->form .= add2form($this->template['3COL'],$content,$title,$help);
}
$name ist der Name und die ID der Checkbox
$value ist der Wert, den die Checkbox bei Aktivierung annimmt
$default ist der Wert, den die Checkbox beim erzeugen des Formular-Objekts hat
Der Code, der den Default-Wert setzt ist noch nicht eingebaut.
So, jetzt kommt das Problem:
Ich habe einen JS-EventHandler ($this->handler) drin, der bei Bedarf das Formular neu läd (wenn der Benutzer z.B. die Checkbox aktiviert hat und danach weitere spezielle Formularelemente eingeblendet werden sollen).
Allerdings würde nach dem Neuladen bei FALSE immer der Default-Wert benutzt werden und nicht der POST-Wert der Checkbox (logisch, da die Checkbox ja keinen FALSE-Wert annehmen kann). Ich müsste also checken, ob die POST-Variable existiert (mach ich ja bereits) und wenn nicht dann die $default benutzen. Was aber, wenn das Formular schon neulgeladen wurde und die Checkbox=FALSE ist?
Anders ausgedrückt, es soll nur beim ersten Laden der Default-Wert benutzt werden und ab dann immer der POST-Wert bis das Formular abgeschickt wird (nicht neugeladen).
Nochmal anders ausgedrückt: Wenn die Checkbox deaktivert ist und die Seite neugeladen wurde, kann ich nicht überprüfen, ob die Deaktivierung vom POST oder der $default-Variable kam.
Ich hoffe, ihr könnt mir da helfen...danke schonmal im vorraus
Viele Grüße
Frank
Kommentar