diff options
author | Dries Buytaert <dries@buytaert.net> | 2010-03-26 12:16:18 +0000 |
---|---|---|
committer | Dries Buytaert <dries@buytaert.net> | 2010-03-26 12:16:18 +0000 |
commit | 3cf8a44fb82da9e388fb43b5dd88e6525ac7d06f (patch) | |
tree | 6fd227f1c9d99e6891f378c9d36f95deae2239c7 /includes | |
parent | 73fbc2825370bbd01dfd24969e55e5fd4f82980b (diff) | |
download | brdo-3cf8a44fb82da9e388fb43b5dd88e6525ac7d06f.tar.gz brdo-3cf8a44fb82da9e388fb43b5dd88e6525ac7d06f.tar.bz2 |
- Patch #667944 by sun: Javascript #states cannot hide fieldsets, radios, checkboxes.
Diffstat (limited to 'includes')
-rw-r--r-- | includes/form.inc | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/includes/form.inc b/includes/form.inc index 931b54b61..35f86ef55 100644 --- a/includes/form.inc +++ b/includes/form.inc @@ -2027,13 +2027,15 @@ function theme_radio($variables) { */ function theme_radios($variables) { $element = $variables['element']; - $class = 'form-radios'; + $attributes = array(); + if (!empty($element['#id'])) { + $attributes['id'] = $element['#id']; + } + $attributes['class'] = 'form-radios'; if (!empty($element['#attributes']['class'])) { - $class .= ' ' . implode(' ', $element['#attributes']['class']); + $attributes['class'] .= ' ' . implode(' ', $element['#attributes']['class']); } - $element['#children'] = '<div class="' . $class . '">' . (!empty($element['#children']) ? $element['#children'] : '') . '</div>'; - - return $element['#children']; + return '<div' . drupal_attributes($attributes) . '>' . (!empty($element['#children']) ? $element['#children'] : '') . '</div>'; } /** @@ -2272,13 +2274,15 @@ function theme_checkbox($variables) { */ function theme_checkboxes($variables) { $element = $variables['element']; - $class = 'form-checkboxes'; + $attributes = array(); + if (!empty($element['#id'])) { + $attributes['id'] = $element['#id']; + } + $attributes['class'] = 'form-checkboxes'; if (!empty($element['#attributes']['class'])) { - $class .= ' ' . implode(' ', $element['#attributes']['class']); + $attributes['class'] .= ' ' . implode(' ', $element['#attributes']['class']); } - $element['#children'] = '<div class="' . $class . '">' . (!empty($element['#children']) ? $element['#children'] : '') . '</div>'; - - return $element['#children']; + return '<div' . drupal_attributes($attributes) . '>' . (!empty($element['#children']) ? $element['#children'] : '') . '</div>'; } /** @@ -2297,7 +2301,6 @@ function form_pre_render_conditional_form_element($element) { } if (isset($element['#title']) || isset($element['#description'])) { - unset($element['#id']); $element['#theme_wrappers'][] = 'form_element'; } return $element; @@ -2537,7 +2540,7 @@ function form_process_fieldset(&$element, &$form_state) { if (!isset($element['#attributes']['class'])) { $element['#attributes']['class'] = array(); } - + $element['#attributes']['class'][] = 'form-wrapper'; $element['#attributes']['class'][] = 'collapsible'; if (!empty($element['#collapsed'])) { $element['#attributes']['class'][] = 'collapsed'; |