[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