edit_field.js

来自「很棒的在线教学系统」· JavaScript 代码 · 共 188 行

JS
188
字号
/// $Id $/////////////////////////////////////////////////////////////////////////////                                                                       //// NOTICE OF COPYRIGHT                                                   ////                                                                       //// Moodle - Modular Object-Oriented Dynamic Learning Environment         ////          http://moodle.com                                            ////                                                                       //// Copyright (C) 1999 onwards Martin Dougiamas        http://dougiamas.com  ////           (C) 2001-3001 Eloy Lafuente (stronk7) http://contiento.com  ////                                                                       //// This program is free software; you can redistribute it and/or modify  //// it under the terms of the GNU General Public License as published by  //// the Free Software Foundation; either version 2 of the License, or     //// (at your option) any later version.                                   ////                                                                       //// This program is distributed in the hope that it will be useful,       //// but WITHOUT ANY WARRANTY; without even the implied warranty of        //// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         //// GNU General Public License for more details:                          ////                                                                       ////          http://www.gnu.org/copyleft/gpl.html                         ////                                                                       //////////////////////////////////////////////////////////////////////////////// Register the needed events    onload=function() {    /// Adjust the form on load        transformForm();    /// Get the required fields        var typeField         = document.getElementById('menutype');        var sequenceField     = document.getElementById('menusequence');        var enumField         = document.getElementById('menuenum');    /// Register the rest of events        if (typeField.addEventListener) {        /// Standard            typeField.addEventListener('change', transformForm, false);            sequenceField.addEventListener('change', transformForm, false);            enumField.addEventListener('change', transformForm, false);        } else {        /// IE 5.5            typeField.attachEvent('onchange', transformForm);            sequenceField.attachEvent('onchange', transformForm);            enumField.attachEvent('onchange', transformForm);        }    }/** * This function controls all modifications to perform when any field changes */function transformForm(event) {/// Initialize all the needed variables    var typeField         = document.getElementById('menutype');    var lengthField       = document.getElementById('length');    var decimalsField     = document.getElementById('decimals');    var unsignedField     = document.getElementById('menuunsigned');    var notnullField      = document.getElementById('menunotnull');    var sequenceField     = document.getElementById('menusequence');    var enumField         = document.getElementById('menuenum');    var enumvaluesField   = document.getElementById('enumvalues');    var defaultField      = document.getElementById('default');    var lengthTip         = document.getElementById('lengthtip');    var decimalsTip       = document.getElementById('decimalstip');/// Initially, enable everything    decimalsField.disabled = false;    unsignedField.disabled = false;    notnullField.disabled = false;    sequenceField.disabled = false;    enumField.disabled = false;    enumvaluesField.disabled = false;    defaultField.disabled = false;/// Based on enum, disable some items    if (enumField.value == '0') {        enumvaluesField.disabled = true;        enumvaluesField.value = '';    };/// Based on sequence, disable some items    if (sequenceField.value == '1') {        unsignedField.disabled = true;        unsignedField.value = '1';        notnullField.disabled = true;        notnullField.value = '1';        defaultField.disabled = true;        defaultField.value = '';        enumField.disabled = true;        enumField.value = '0';        enumvaluesField.disabled = true;        enumvaluesField.value = '';    }/// Based on type, disable some items    switch (typeField.value) {        case '1':  // XMLDB_TYPE_INTEGER            lengthTip.innerHTML = ' 1...20';            decimalsTip.innerHTML = '';            decimalsField.disabled = true;            decimalsField.value = '';            enumField.disabled = true;            enumField.value = '0';            enumvaluesField.disabled = true;            enumvaluesField.value = '';            break;        case '2':  // XMLDB_TYPE_NUMBER            lengthTip.innerHTML = ' 1...20';            decimalsTip.innerHTML = ' 0...length or empty';            enumField.disabled = true;            enumField.value = '0';            enumvaluesField.disabled = true;            enumvaluesField.value = '';            break;        case '3':  // XMLDB_TYPE_FLOAT            lengthTip.innerHTML = ' 1...20 or empty';            decimalsTip.innerHTML = ' 0...length or empty';            enumField.disabled = true;            enumField.value = '0';            enumvaluesField.disabled = true;            enumvaluesField.value = '';            break;        case '4':  // XMLDB_TYPE_CHAR            lengthTip.innerHTML = ' 1...255';            decimalsTip.innerHTML = '';            decimalsField.disabled = true;            decimalsField.value = '';            unsignedField.disabled = true;            unsignedField.value = '0';            sequenceField.disabled = true;            sequenceField.value = '0';            break;        case '5':  // XMLDB_TYPE_TEXT            lengthTip.innerHTML = ' small, medium, big';            decimalsTip.innerHTML = '';            decimalsField.disabled = true;            decimalsField.value = '';            unsignedField.disabled = true;            unsignedField.value = '0';            sequenceField.disabled = true;            sequenceField.value = '0';            defaultField.disabled = true;            defaultField.value = '';            break;        case '6':  // XMLDB_TYPE_BINARY            lengthTip.innerHTML = ' small, medium, big';            decimalsTip.innerHTML = '';            decimalsField.disabled = true;            decimalsField.value = '';            unsignedField.disabled = true;            unsignedField.value = '0';            sequenceField.disabled = true;            sequenceField.value = '0';            enumField.disabled = true;            enumField.value = '0';            enumvaluesField.disabled = true;            enumvaluesField.value = '';            defaultField.disabled = true;            defaultField.value = '';            break;        case '7':  // XMLDB_TYPE_DATETIME            lengthTip.innerHTML = '';            lengthField.disabled = true;            lengthField.value = '';            decimalsTip.innerHTML = '';            decimalsField.disabled = true;            decimalsField.value = '';            unsignedField.disabled = true;            unsignedField.value = '0';            sequenceField.disabled = true;            sequenceField.value = '0';            enumField.disabled = true;            enumField.value = '0';            enumvaluesField.disabled = true;            enumvaluesField.value = '';            defaultField.disabled = true;            defaultField.value = '';            break;    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?