]> git.mjollnir.org Git - moodle.git/commitdiff
see MDL-8886.
authorjamiesensei <jamiesensei>
Fri, 6 Apr 2007 06:01:11 +0000 (06:01 +0000)
committerjamiesensei <jamiesensei>
Fri, 6 Apr 2007 06:01:11 +0000 (06:01 +0000)
fixes bug that meant :

       $mform->disabledIf('studentfeedbackurl', 'studentfeedback', 'eq', 0);
       $mform->disabledIf('studentfeedbackurl', 'studentfeedback', 'eq', 3);
       $mform->disabledIf('studentfeedbackurl', 'studentfeedback', 'eq', 4);

didn't work.

lib/javascript-static.js

index 7c459942a760ed0dde0d827ff7dce8ee83d4d58a..81d323d734a2bf5d4c7dc9c9365030d1f7272ef7 100644 (file)
@@ -86,6 +86,7 @@ function unlockoption(form,item) {
 function lockoptionsall(formid) {
     var form = document.forms[formid];
     var dependons = eval(formid+'items');
+    var tolock = Array();
     for (var dependon in dependons) {
         var master = form[dependon];
         for (var condition in dependons[dependon]) {
@@ -104,12 +105,21 @@ function lockoptionsall(formid) {
                       lock = master.value!=value; break;
                 }
                 for (var ei in dependons[dependon][condition][value]) {
-                    var formelement = form[dependons[dependon][condition][value][ei]];
-                    formelement.disabled = lock;
+                    var eltolock = dependons[dependon][condition][value][ei];
+                    if (tolock[eltolock] != null){
+                        tolock[eltolock] =
+                                lock || tolock[eltolock];
+                    } else {
+                        tolock[eltolock] = lock;
+                    }
                 }
             }
         }
     }
+    for (var el in tolock){
+        var formelement = form[el];
+        formelement.disabled = tolock[el];
+    }
     return true;
 }