[development] What should we do with checkboxes?

Adrian Rossouw adrian at bryght.com
Sun Dec 25 09:47:18 UTC 2005


On 25 Dec 2005, at 6:12 AM, Karoly Negyesi wrote:
> b) we change #value instead to be a list of selected values, like  
> in multiselect. The code change in form.inc for this is minimal:
>
> if ($form['type'] == 'checkboxes') {
>    $edit = array_keys(array_filter($edit));
> }
>
> I like this one much better. The only problem is that somewhat it  
> differs from what you get from HTML -- but this is the information  
> you actually need.
I like this approach too , but I don't really like the idea of adding  
type specific code into form_builder itself.
The function is already too hard to comprehend as it is.

why not do :

if (function_exist($form['#type'] . '_value')) {
   ${$form['#type'] . '_value'}($form);
}
else {
    $form['#value'] = $form['#default_value'];
}


-------------

function checkboxes_value(&$form) {
   $value = array();
   foreach ($form['#default_value'] as $key) {
     $value[$key] = 1;
   }
   $form['#value'] = $value;
}


We never know if some other element might have a similar problem in  
the future.
and at least now we would be able to fix it for just that element  
without having to
resort to changing form_builder.










--
Adrian Rossouw
Drupal developer and Bryght Guy
http://drupal.org | http://bryght.com




More information about the development mailing list