MDL-16202 formslib show/hide advanced button does not work with strict XML headers

This commit is contained in:
tjhunt
2008-08-28 07:52:09 +00:00
parent ba64f5cd8c
commit cd350b538f
2 changed files with 28 additions and 14 deletions
+19 -3
View File
@@ -285,16 +285,32 @@ function elementShowAdvanced(elements, show) {
}
}
function showAdvancedOnClick(button, hidetext, showtext){
function showAdvancedInit(addBefore, nameAttr, buttonLabel, hideText, showText) {
var showHideButton = document.createElement("input");
showHideButton.type = 'button';
showHideButton.value = buttonLabel;
showHideButton.name = nameAttr;
showHideButton.moodle = {
hideLabel: hideText,
showLabel: showText
};
YAHOO.util.Event.addListener(showHideButton, 'click', showAdvancedOnClick);
el = document.getElementById(addBefore);
el.parentNode.insertBefore(showHideButton, el);
}
function showAdvancedOnClick(e) {
var button = e.target ? e.target : e.srcElement;
var toSet=findChildNodes(button.form, null, 'advanced');
var buttontext = '';
if (button.form.elements['mform_showadvanced_last'].value == '0' || button.form.elements['mform_showadvanced_last'].value == '' ) {
elementShowAdvanced(toSet, true);
buttontext = hidetext;
buttontext = button.moodle.hideLabel;
button.form.elements['mform_showadvanced_last'].value = '1';
} else {
elementShowAdvanced(toSet, false);
buttontext = showtext;
buttontext = button.moodle.showLabel;
button.form.elements['mform_showadvanced_last'].value = '0';
}
var formelements = button.form.elements;