From cbcb85560ad4e8756f59d2e4a1b5329fc9398a03 Mon Sep 17 00:00:00 2001 From: Dries Buytaert Date: Thu, 3 Nov 2005 15:42:31 +0000 Subject: - Patch #35816 by chx: fixed problem with checkbox handling in the form API. --- includes/form.inc | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'includes') diff --git a/includes/form.inc b/includes/form.inc index c481a069f..2b88389d2 100644 --- a/includes/form.inc +++ b/includes/form.inc @@ -235,7 +235,17 @@ function _form_builder($form) { $ref =& $ref[$parent]; } if (!isset($form['#value'])) { - $form['#value'] = ($posted && isset($edit)) ? $edit : $form['#default_value']; + if ($posted) { + if (isset($edit)) { + $form['#value'] = $edit; // normal element + } + elseif (isset($form['#return_value'])) { + $form['#value'] = 0; // checkbox unchecked + } + } + if (!isset($form['#value'])) { + $form['#value'] = $form['#default_value']; + } } if (isset($form['#execute'])) { if ($_POST[$form['#name']] == $form['#value']) { -- cgit v1.2.3