diff --git a/lib/form/form.js b/lib/form/form.js index 59f3ac6a051..50f59604b9b 100644 --- a/lib/form/form.js +++ b/lib/form/form.js @@ -282,6 +282,8 @@ if (typeof M.form.dependencyManager === 'undefined') { var els = this.elementsByName(name, true); els.each(function(node) { var e = node.ancestor('.fitem', true); + var label = null, + id = null; if (e) { // Cope with differences between clean and boost themes. if (e.hasClass('fitem_fgroup')) { @@ -298,6 +300,22 @@ if (typeof M.form.dependencyManager === 'undefined') { e.setStyles({ display: (hidden) ? 'none' : '' }); + + // Hide/unhide the label as well. + id = node.get('id'); + if (id) { + label = Y.all('label[for="' + id + '"]'); + if (label) { + if (hidden) { + label.setAttribute('hidden', 'hidden'); + } else { + label.removeAttribute('hidden'); + } + label.setStyles({ + display: (hidden) ? 'none' : '' + }); + } + } } }); }, diff --git a/lib/formslib.php b/lib/formslib.php index 3a3b6022229..94dc22dfb5f 100644 --- a/lib/formslib.php +++ b/lib/formslib.php @@ -2837,13 +2837,13 @@ class MoodleQuickForm_Renderer extends HTML_QuickForm_Renderer_Tableless{ // switch next two lines for ol li containers for form items. // $this->_elementTemplates=array('default'=>"\n\t\t".'
  • {error}
    {element}
  • '); $this->_elementTemplates = array( - 'default' => "\n\t\t".'
    {help}
    {error}
    {element}
    ', + 'default' => "\n\t\t".'
    {help}
    {error}
    {element}
    ', - 'actionbuttons' => "\n\t\t".'
    {element}
    ', + 'actionbuttons' => "\n\t\t".'
    {element}
    ', - 'fieldset' => "\n\t\t".'
    {help}
    {error}
    {element}
    ', + 'fieldset' => "\n\t\t".'
    {help}
    {error}
    {element}
    ', - 'static' => "\n\t\t".'
    {label}{req}{advancedimg} {help}
    {error}
    {element}
    ', + 'static' => "\n\t\t".'
    {label}{req}{advancedimg} {help}
    {error}
    {element}
    ', 'warning' => "\n\t\t".'
    {element}
    ', @@ -2966,6 +2966,7 @@ class MoodleQuickForm_Renderer extends HTML_QuickForm_Renderer_Tableless{ } $html = str_replace('{id}', $group->getAttribute('id'), $html); $html = str_replace('{name}', $group->getName(), $html); + $html = str_replace('{groupname}', 'data-groupname="'.$group->getName().'"', $html); $html = str_replace('{typeclass}', 'fgroup', $html); $html = str_replace('{type}', 'group', $html); $html = str_replace('{class}', $group->getAttribute('class'), $html); @@ -3033,6 +3034,7 @@ class MoodleQuickForm_Renderer extends HTML_QuickForm_Renderer_Tableless{ $html = str_replace('{typeclass}', 'f' . $element->getType(), $html); $html = str_replace('{type}', $element->getType(), $html); $html = str_replace('{name}', $element->getName(), $html); + $html = str_replace('{groupname}', '', $html); $html = str_replace('{class}', $element->getAttribute('class'), $html); $emptylabel = ''; if ($element->getLabel() == '') {