Benutzer-Werkzeuge

Webseiten-Werkzeuge


js:disabled_checkboxes

Nicht aktivierte Checkboxen auswerten

Bei der Übertragung von Checkboxen in einem HTML-Formular stehen nach dem versand nur noch die aktivierten Checkboxen zur Auswertung zur Verfügung. Das stellt bei der Deaktivierung von Optionen ein Problem dar, da ein nicht übertragender Wert auch nicht ausgewertet, und somit z. B. in eienr Datenbank nicht auf deaktiviert gesetzt werden kann.

Um beim späteren Hinzufügen von weiteren Optionen möglichst geringen Pflegeaufwand zu haben bietet sich an, die Namen der Checkboxen in einem Hidden-Field zu übertragen, damit nach dem Versand des Formulars auch die Namen der nicht aktivierten Checkboxen bekannt sind.

<form method="post">
	<h1>Optionen einstellen:</h1>
	<p>Postjournal: <input type="checkbox" name="Postjournal" value="1" /></p>
	<p>Nachbearbeitungsmail: <input type="checkbox" name="SingleNotification" value="1" /></p>
	<p>PDF extern öffnen: <input type="checkbox" name="PDFExtern" value="1" /></p>
	<p><input type="hidden" name="checkboxen" value="Antragskontrolle,SingleNotification,PDFExtern" /></p>
	<p><input type="submit" value="Optionen speichern" /></p>
</form>

Hier wird als Variable „checkboxen“ die Namen der auszuwertenden Checkboxen übertragen.

$arr = explode( ",", $_POST['checkboxen'] );
$form = array();
 
foreach( $arr as $key )
	$form[$key] = ( $_POST[$key] ) ? 1 : 0;

In der PHP-Variable „form“ sind jetzt alle Checkboxen enthalten - auch die nicht aktiviert wurden.

js/disabled_checkboxes.txt · Zuletzt geändert: 2015/12/19 00:00 (Externe Bearbeitung)