summaryrefslogtreecommitdiff
path: root/includes/form.inc
diff options
context:
space:
mode:
authorGábor Hojtsy <gabor@hojtsy.hu>2007-09-11 17:23:58 +0000
committerGábor Hojtsy <gabor@hojtsy.hu>2007-09-11 17:23:58 +0000
commit5030ea40a51b0d6527f5d43519cdbf0a3cca0c56 (patch)
tree4804a68c60f275b1dbd8d50d99651c8f9b72164f /includes/form.inc
parentac7637bc9bf5c4dae43a448511b67daf2825be1a (diff)
downloadbrdo-5030ea40a51b0d6527f5d43519cdbf0a3cca0c56.tar.gz
brdo-5030ea40a51b0d6527f5d43519cdbf0a3cca0c56.tar.bz2
#150851 by pwolanin and chx: different radio buttons in the same set should have different HTML id values (XHTML validity fix)
Diffstat (limited to 'includes/form.inc')
-rw-r--r--includes/form.inc4
1 files changed, 4 insertions, 0 deletions
diff --git a/includes/form.inc b/includes/form.inc
index 4dcd14391..74d8f54b1 100644
--- a/includes/form.inc
+++ b/includes/form.inc
@@ -1548,6 +1548,9 @@ function expand_radios($element) {
if (count($element['#options']) > 0) {
foreach ($element['#options'] as $key => $choice) {
if (!isset($element[$key])) {
+ // Generate the parents as the autogenerator does, so we will have a
+ // unique id for each radio button.
+ $parents_for_id = array_merge($element['#parents'], array($key));
$element[$key] = array(
'#type' => 'radio',
'#title' => $choice,
@@ -1555,6 +1558,7 @@ function expand_radios($element) {
'#default_value' => isset($element['#default_value']) ? $element['#default_value'] : NULL,
'#attributes' => $element['#attributes'],
'#parents' => $element['#parents'],
+ '#id' => form_clean_id('edit-'. implode('-', $parents_for_id)),
);
}
}