⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 field.js

📁 extjs开发包extjs2.0的开发包不是最新的但是很好用
💻 JS
📖 第 1 页 / 共 2 页
字号:
    /**     * Validates the field value     * @return {Boolean} True if the value is valid, else false     */    validate : function(){        if(this.disabled || this.validateValue(this.processValue(this.getRawValue()))){            this.clearInvalid();            return true;        }        return false;    },    // protected - should be overridden by subclasses if necessary to prepare raw values for validation    processValue : function(value){        return value;    },    // private    // Subclasses should provide the validation implementation by overriding this    validateValue : function(value){        return true;    },    /**     * Mark this field as invalid, using {@link #msgTarget} to determine how to display the error and      * applying {@link #invalidClass} to the field's element.     * @param {String} msg (optional) The validation message (defaults to {@link #invalidText})     */    markInvalid : function(msg){        if(!this.rendered || this.preventMark){ // not rendered            return;        }        this.el.addClass(this.invalidClass);        msg = msg || this.invalidText;        switch(this.msgTarget){            case 'qtip':                this.el.dom.qtip = msg;                this.el.dom.qclass = 'x-form-invalid-tip';                if(Ext.QuickTips){ // fix for floating editors interacting with DND                    Ext.QuickTips.enable();                }                break;            case 'title':                this.el.dom.title = msg;                break;            case 'under':                if(!this.errorEl){                    var elp = this.getErrorCt();                    if(!elp){ // field has no container el                        this.el.dom.title = msg;                        break;                    }                    this.errorEl = elp.createChild({cls:'x-form-invalid-msg'});                    this.errorEl.setWidth(elp.getWidth(true)-20);                }                this.errorEl.update(msg);                Ext.form.Field.msgFx[this.msgFx].show(this.errorEl, this);                break;            case 'side':                if(!this.errorIcon){                    var elp = this.getErrorCt();                    if(!elp){ // field has no container el                        this.el.dom.title = msg;                        break;                    }                    this.errorIcon = elp.createChild({cls:'x-form-invalid-icon'});                }                this.alignErrorIcon();                this.errorIcon.dom.qtip = msg;                this.errorIcon.dom.qclass = 'x-form-invalid-tip';                this.errorIcon.show();                this.on('resize', this.alignErrorIcon, this);                break;            default:                var t = Ext.getDom(this.msgTarget);                t.innerHTML = msg;                t.style.display = this.msgDisplay;                break;        }        this.fireEvent('invalid', this, msg);    },        // private    getErrorCt : function(){        return this.el.findParent('.x-form-element', 5, true) || // use form element wrap if available            this.el.findParent('.x-form-field-wrap', 5, true);   // else direct field wrap    },    // private    alignErrorIcon : function(){        this.errorIcon.alignTo(this.el, 'tl-tr', [2, 0]);    },    /**     * Clear any invalid styles/messages for this field     */    clearInvalid : function(){        if(!this.rendered || this.preventMark){ // not rendered            return;        }        this.el.removeClass(this.invalidClass);        switch(this.msgTarget){            case 'qtip':                this.el.dom.qtip = '';                break;            case 'title':                this.el.dom.title = '';                break;            case 'under':                if(this.errorEl){                    Ext.form.Field.msgFx[this.msgFx].hide(this.errorEl, this);                }                break;            case 'side':                if(this.errorIcon){                    this.errorIcon.dom.qtip = '';                    this.errorIcon.hide();                    this.un('resize', this.alignErrorIcon, this);                }                break;            default:                var t = Ext.getDom(this.msgTarget);                t.innerHTML = '';                t.style.display = 'none';                break;        }        this.fireEvent('valid', this);    },    /**     * Returns the raw data value which may or may not be a valid, defined value.  To return a normalized value see {@link #getValue}.     * @return {Mixed} value The field value     */    getRawValue : function(){        var v = this.rendered ? this.el.getValue() : Ext.value(this.value, '');        if(v === this.emptyText){            v = '';        }        return v;    },    /**     * Returns the normalized data value (undefined or emptyText will be returned as '').  To return the raw value see {@link #getRawValue}.     * @return {Mixed} value The field value     */    getValue : function(){        if(!this.rendered) {            return this.value;        }        var v = this.el.getValue();        if(v === this.emptyText || v === undefined){            v = '';        }        return v;    },    /**     * Sets the underlying DOM field's value directly, bypassing validation.  To set the value with validation see {@link #setValue}.     * @param {Mixed} value The value to set     * @return {Mixed} value The field value that is set     */    setRawValue : function(v){        return this.el.dom.value = (v === null || v === undefined ? '' : v);    },    /**     * Sets a data value into the field and validates it.  To set the value directly without validation see {@link #setRawValue}.     * @param {Mixed} value The value to set     */    setValue : function(v){        this.value = v;        if(this.rendered){            this.el.dom.value = (v === null || v === undefined ? '' : v);            this.validate();        }    },    // private    adjustSize : function(w, h){        var s = Ext.form.Field.superclass.adjustSize.call(this, w, h);        s.width = this.adjustWidth(this.el.dom.tagName, s.width);        return s;    },    // private    adjustWidth : function(tag, w){        tag = tag.toLowerCase();        if(typeof w == 'number' && !Ext.isSafari){            if(Ext.isIE && (tag == 'input' || tag == 'textarea')){                if(tag == 'input' && !Ext.isStrict){                    return this.inEditor ? w : w - 3;                }                if(tag == 'input' && Ext.isStrict){                    return w - (Ext.isIE6 ? 4 : 1);                }                if(tag == 'textarea' && Ext.isStrict){                    return w-2;                }            }else if(Ext.isOpera && Ext.isStrict){                if(tag == 'input'){                    return w + 2;                }                if(tag == 'textarea'){                    return w-2;                }            }        }        return w;    }    /**     * @cfg {Boolean} autoWidth @hide     */    /**     * @cfg {Boolean} autoHeight @hide     */    /**     * @cfg {String} autoEl @hide     */});Ext.form.MessageTargets = {    'qtip' : {        mark: function(f){            this.el.dom.qtip = msg;            this.el.dom.qclass = 'x-form-invalid-tip';            if(Ext.QuickTips){ // fix for floating editors interacting with DND                Ext.QuickTips.enable();            }        },        clear: function(f){            this.el.dom.qtip = '';        }    },    'title' : {        mark: function(f){            this.el.dom.title = msg;        },        clear: function(f){            this.el.dom.title = '';        }    },    'under' : {        mark: function(f){            if(!this.errorEl){                var elp = this.getErrorCt();                if(!elp){ // field has no container el                    this.el.dom.title = msg;                    return;                }                this.errorEl = elp.createChild({cls:'x-form-invalid-msg'});                this.errorEl.setWidth(elp.getWidth(true)-20);            }            this.errorEl.update(msg);            Ext.form.Field.msgFx[this.msgFx].show(this.errorEl, this);        },        clear: function(f){            if(this.errorEl){                Ext.form.Field.msgFx[this.msgFx].hide(this.errorEl, this);            }else{                this.el.dom.title = '';            }        }    },    'side' : {        mark: function(f){            if(!this.errorIcon){                var elp = this.getErrorCt();                if(!elp){ // field has no container el                    this.el.dom.title = msg;                    return;                }                this.errorIcon = elp.createChild({cls:'x-form-invalid-icon'});            }            this.alignErrorIcon();            this.errorIcon.dom.qtip = msg;            this.errorIcon.dom.qclass = 'x-form-invalid-tip';            this.errorIcon.show();            this.on('resize', this.alignErrorIcon, this);        },        clear: function(f){            if(this.errorIcon){                this.errorIcon.dom.qtip = '';                this.errorIcon.hide();                this.un('resize', this.alignErrorIcon, this);            }else{                this.el.dom.title = '';            }        }    },    'around' : {        mark: function(f){        },        clear: function(f){        }    }};// anything other than normal should be considered experimentalExt.form.Field.msgFx = {    normal : {        show: function(msgEl, f){            msgEl.setDisplayed('block');        },        hide : function(msgEl, f){            msgEl.setDisplayed(false).update('');        }    },    slide : {        show: function(msgEl, f){            msgEl.slideIn('t', {stopFx:true});        },        hide : function(msgEl, f){            msgEl.slideOut('t', {stopFx:true,useDisplay:true});        }    },    slideRight : {        show: function(msgEl, f){            msgEl.fixDisplay();            msgEl.alignTo(f.el, 'tl-tr');            msgEl.slideIn('l', {stopFx:true});        },        hide : function(msgEl, f){            msgEl.slideOut('l', {stopFx:true,useDisplay:true});        }    }};Ext.reg('field', Ext.form.Field);

⌨️ 快捷键说明

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