Checkboxes beim Zuürcksetzen
Jessica
- php
Hallo,
ich habe ein PHP-Formular mit 2 Checkboxes. Wird das Formular unvollständig oder falsch ausgefüllt, wird beim Zurücksetzen das Häkchen aus der 2ten Checkbox entfernt. Klickt man beim Absenden nur eine der beiden Checkboxes an, bleibt die Markierung jeweils erhalten. Woran kann das liegen ?
$result1 = array_search('Wert1', $auswahl);
$result2 = array_search('Wert2', $auswahl);
if ($result1 == "True") $aktiv1 = "checked";
if ($result2 == "True") $aktiv2 = "checked";
Gruss
Jessica
Hi Jessica,
um verstehen zu können was du meinst, wäre gut du zeigst uns den Quelltext deines Formulars.
Gruß Frank
Hallo Frank,
folgendes steht im Formular:
[...]
<td class="text4">
<input type="checkbox" name="auswahl[]" value="Wert1" <?php print $aktiv1 ?>>Auswahl 1<br>
<input type="checkbox" name="auswahl[]" value="Wert2" <?php print $aktiv2 ?>>Auswahl 2</td>
[...]
Gruss Jessica
Irgendwie stehe ich immer noch auf dem Schlauch.
Habe ich das richtig verstanden, dass du evtl andere Einträge deines Formulars auf Fehler prüfst. Und wenn Fehler vorhanden sind, du zum Formular zurück willst, aber die schon ausgefüllten Checkboxen ihren schon gesetzten Haken behalten?
..., aber die schon ausgefüllten Checkboxen ihren schon gesetzten Haken behalten?
Richtig ! Über eine *.inc-Datei werden Feldinhalte überprüft und bei einem Fehler dann eine entspr. Meldung ($error = True) ausgegeben. Die Checkboxes, die mit einem Häkchen gekennzeichnet wurden, sollen aber markiert bleiben.
<html>
<head>
<title>Formular</title>
<?php include("form.inc"); ?>
</head> [...]
Auszug aus der "form.inc."-Datei:
<?php
$aktiv1 = $HTTP_POST_VARS["aktiv1"];
$aktiv2 = $HTTP_POST_VARS["aktiv2"];
if ($auswahl == ""){
$message = "Bitte eine Auswahl treffen.";
$error = "True";
} else {
$result1 = array_search('Wert1', $auswahl);
$result2 = array_search('Wert2', $auswahl);
if ($result1 == "True") $aktiv1 = "checked";
if ($result2 == "True") $aktiv2 = "checked";
}
if ($error != "True") {
ab hier dann Mitteilung versenden ....
?>
hi,
$result1 = array_search('Wert1', $auswahl);
$result2 = array_search('Wert2', $auswahl);
if ($result1 == "True") $aktiv1 = "checked";
if ($result2 == "True") $aktiv2 = "checked";
wie kommst du auf den gedanken, dass die funktion array_search geneigt sein könnte, einen _textstring_ mit dem inhalt "True" zurückzuliefern?
gruss,
wahsaga
hi,
als ergänzung aus dem manual:
"Diese Funktion durchsucht haystack nach needle und gibt bei Erfolg den Schlüssel zurück, andernfalls FALSE."
wieso erwartest du also das vorhandensein eines schlüssels "True" in deinem array?
gruss,
wahsaga
wie kommst du auf den gedanken, dass die funktion array_search geneigt sein könnte, einen _textstring_ mit dem inhalt "True" zurückzuliefern?
mit in_array hat es nun funktioniert. Danke für den Tipp.
Jessica