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".'',
+ 'actionbuttons' => "\n\t\t".'',
- 'fieldset' => "\n\t\t".'{help}
',
+ 'fieldset' => "\n\t\t".'{help}
',
- '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() == '') {