From b3d640c57802c14760072032bebd2076cbd1bb35 Mon Sep 17 00:00:00 2001 From: cash Date: Tue, 23 Nov 2010 00:50:25 +0000 Subject: Fixes #397 and Refs #2396 Can suppress the default value for both input/checkbox and input/checkboxes git-svn-id: http://code.elgg.org/elgg/trunk@7424 36083f99-b078-4883-b0ff-0f9b5a30f544 --- views/default/input/checkbox.php | 20 +++++++++++++++++++- views/default/input/checkboxes.php | 27 ++++++++++++++++----------- 2 files changed, 35 insertions(+), 12 deletions(-) (limited to 'views/default/input') diff --git a/views/default/input/checkbox.php b/views/default/input/checkbox.php index 32bc323fd..e70064ddb 100644 --- a/views/default/input/checkbox.php +++ b/views/default/input/checkbox.php @@ -1,10 +1,17 @@ "; +} + ?> /> \ No newline at end of file diff --git a/views/default/input/checkboxes.php b/views/default/input/checkboxes.php index 46254633b..94f01867c 100644 --- a/views/default/input/checkboxes.php +++ b/views/default/input/checkboxes.php @@ -5,19 +5,23 @@ * NB: This also includes a hidden input with the same name as the checkboxes * to make sure something is sent to the server. The default value is 0. * If using JS, be specific to avoid selecting the hidden default value: - * $('input[type=checkbox][name=internalname]) + * $('input[type=checkbox][name=internalname]') * * @package Elgg * @subpackage Core * - * @uses string $vars['internalname'] The name of the input fields (Forced to an array by appending []) - * @uses array $vars['options'] An array of strings representing the label => option for the each checkbox field - * @uses string $vars['internalid'] The id for each input field. Optional (Only use this with a single value.) - * @uses string $vars['default'] The default value to send if nothing is checked. Optional, defaults to 0. - * @uses bool $vars['disabled'] Make all input elements disabled. Optional. - * @uses string $vars['value'] The current value. Optional. - * @uses string $vars['class'] The class of each input element. Optional. - * @uses string $vars['js'] Any Javascript to enter into the input tag. Optional. + * @uses string $vars['internalname'] The name of the input fields + * (Forced to an array by appending []) + * @uses array $vars['options'] An array of strings representing the + * label => option for the each checkbox field + * @uses string $vars['internalid'] The id for each input field. Optional + * (Only use this with a single value.) + * @uses string $vars['default'] The default value to send if nothing is checked. + * Optional, defaults to 0. Set to FALSE for no default. + * @uses bool $vars['disabled'] Make all input elements disabled. Optional. + * @uses string $vars['value'] The current value. Optional. + * @uses string $vars['class'] The class of each input element. Optional. + * @uses string $vars['js'] Any Javascript to enter into the input tag. Optional. * */ @@ -38,11 +42,11 @@ $js = (isset($vars['js'])) ? $vars['js'] : ''; if ($options) { // include a default value so if nothing is checked 0 will be passed. - if ($internalname) { + if ($internalname && $default !== FALSE) { echo ""; } - foreach($options as $label => $option) { + foreach ($options as $label => $option) { // @hack - This sorta checks if options is not an assoc array and then // ignores the label (because it's just the index) and sets the value ($option) // as the label. @@ -58,6 +62,7 @@ if ($options) { 'disabled' => $disabled, 'id' => $id, 'js' => $js, + 'default' => false, ); if ($class) { -- cgit v1.2.3