some fixes for disabledIf and using disabledIf in course/edit_form.php

This commit is contained in:
jamiesensei 2006-11-28 08:04:00 +00:00
parent 04d6ac46dd
commit 2dbd640932
4 changed files with 16 additions and 25 deletions

View File

@ -214,9 +214,10 @@ class course_edit_form extends moodleform {
$enroldatestartgrp = array();
$enroldatestartgrp[] = &MoodleQuickForm::createElement('date_selector', 'enrolstartdate');
$enroldatestartgrp[] = &MoodleQuickForm::createElement('checkbox', 'enrolstartdisabled', null, get_string('disable'));
$mform->addGroup($enroldatestartgrp, '', get_string('enrolstartdate'), ' ', false);
$mform->addGroup($enroldatestartgrp, 'enrolstartdategrp', get_string('enrolstartdate'), ' ', false);
$mform->setDefault('enrolstartdate', 0);
$mform->setDefault('enrolstartdisabled', 1);
$mform->disabledIf('enrolstartdategrp', 'enrolstartdisabled', 'checked');
$enroldateendgrp = array();
$enroldateendgrp[] = &MoodleQuickForm::createElement('date_selector', 'enrolenddate');
@ -224,6 +225,7 @@ class course_edit_form extends moodleform {
$mform->addGroup($enroldateendgrp, 'enroldateendgrp', get_string('enrolenddate'), ' ', false);
$mform->setDefault('enrolenddate', 0);
$mform->setDefault('enrolenddisabled', 1);
$mform->disabledIf('enroldateendgrp', 'enrolenddisabled', 'checked');
$periodmenu=array();
$periodmenu[0] = get_string('unlimited');
@ -331,16 +333,15 @@ class course_edit_form extends moodleform {
$options = array();
$options['0'] = get_string('no');
$options['1'] = get_string('yes');
$mform->addElement('select', 'restrictmodules', get_string('restrictmodules'), $options,
array('onChange'=>"document.getElementById('id_allowedmods').disabled=".
"((this.selectedIndex==0)?true:false);"));
$mform->addElement('select', 'restrictmodules', get_string('restrictmodules'), $options);
$mods = array(0=>get_string('allownone'));
$mods += get_records_menu('modules', '','','','id, name');
$mform->addElement('select', 'allowedmods', get_string('to'),$mods,
array('multiple'=>'multiple', 'size'=>'10', 'id'=>'allowedmods'));
}else {
$mform->addElement('select', 'allowedmods', get_string('to'), $mods,
array('multiple'=>'multiple', 'size'=>'10'));
$mform->disabledIf('allowedmods', 'restrictmodules', 'eq', 0);
} else {
$mform->addElement('hidden', 'restrictmodules', null);
}
if ($CFG->restrictmodulesfor == 'all') {
@ -352,8 +353,7 @@ class course_edit_form extends moodleform {
$mform->setType('restrictmodules', PARAM_INT);
//--------------------------------------------------------------------------------
$mform->addElement('submit', 'submit', get_string('savechanges'));
$mform->addElement('submit', 'submitbutton', get_string('savechanges'));
//--------------------------------------------------------------------------------
$mform->addElement('hidden', 'id', null);
$mform->setType('id', PARAM_INT);
@ -377,17 +377,7 @@ class course_edit_form extends moodleform {
}
function definition_after_data(){
$mform=&$this->_form;
if ($mform->elementExists('allowedmods')){
if ($mform->exportValue('restrictmodules')!=1){
$allowedmods=&$mform->getElement('allowedmods');
$allowedmods->
updateAttributes(array('disabled'
=> 'disabled')) ;
}
}
}
/// perform some extra moodle validation
function validation($data){

View File

@ -27,7 +27,7 @@ class MoodleQuickForm_submit extends HTML_QuickForm_submit
HTML_QuickForm_submit::HTML_QuickForm_submit($elementName, $value, $attributes);
if ('cancel'==$elementName){
//bypass form validation js :
$this->updateAttributes(array('onclick'=>'this.form.submit();'));
$this->updateAttributes(array('onclick'=>'return this.form.submit();'));
}
} //end constructor

View File

@ -850,6 +850,8 @@ function validate_' . $this->_attributes['id'] . '(frm) {
$elNames = array($group->getElementName($el->getName()));
} elseif (is_a($el, 'HTML_QuickForm_header')) {
return null;
} elseif (method_exists($el, 'getPrivateName')) {
return array($el->getPrivateName());
} else {
$elNames = array($el->getName());
}

View File

@ -98,10 +98,9 @@ function lockoptionsallsetup(formid) {
form.elements[master].oldonclick = ((form.elements[master].onclick) ? form.elements[master].onclick : function () {});
form.elements[master].oldonblur = ((form.elements[master].onblur) ? form.elements[master].onblur : function () {});
form.elements[master].oldonchange = ((form.elements[master].onchange) ? form.elements[master].onchange : function () {});
form.elements[master].oldonkeypress = ((form.elements[master].onkeypress) ? form.elements[master].onkeypress : function () {});
form.elements[master].onclick = function(){this.oldonclick(); return lockoptionsall(this.form.id);};
form.elements[master].onblur = function(){this.oldonblur(); return lockoptionsall(this.form.id);};
form.elements[master].onchange = function(){this.oldonchange(); return lockoptionsall(this.form.id);};
form.elements[master].onclick = function(){this.oldonclick(); return lockoptionsall(this.form.getAttribute('id'));};
form.elements[master].onblur = function(){this.oldonblur(); return lockoptionsall(this.form.getAttribute('id'));};
form.elements[master].onchange = function(){this.oldonchange(); return lockoptionsall(this.form.getAttribute('id'));};
}
return lockoptionsall(formid);
}