Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Extjs中未启用“文件字段”按钮_Javascript_Extjs - Fatal编程技术网

Javascript Extjs中未启用“文件字段”按钮

Javascript Extjs中未启用“文件字段”按钮,javascript,extjs,Javascript,Extjs,Extjs中的文件字段类型工作不正常。最初,我将在代码中禁用此文件字段,当我启用此字段时,浏览按钮(选择文件的按钮)不会启用,但按钮功能正常。 这个问题有解决办法吗。请帮我做这个 Ext.widget('panel', { title: 'Test panel', width: 400, height: 200, renderTo: 'codeoutput', layout: 'vbox', items: [ { xtype: 'container', layout: 'h

Extjs中的文件字段类型工作不正常。最初,我将在代码中禁用此文件字段,当我启用此字段时,浏览按钮(选择文件的按钮)不会启用,但按钮功能正常。 这个问题有解决办法吗。请帮我做这个

Ext.widget('panel', {
title: 'Test panel', 
width: 400, 
height: 200,
renderTo: 'codeoutput',
layout: 'vbox',
items: [

{
    xtype: 'container',
    layout: 'hbox',
    items: [{
        xtype: 'radiofield',
        fieldLabel: 'PAN Number *',
        margin: "20 0 0 0",
        name: 'rb',
        id: 'radioPan',
        inputValue: '1',
        checked: true,
        listeners: {
            change: function (cb, nv, ov) {
                if (nv) {
                    Ext.getCmp('AttachData').disable();
                    Ext.getCmp('PanData').enable();
                }
            }
        }
    }, {
        xtype: 'splitter'
    }, {
        xtype: 'textfield',
        margin: "20 0 0 0",
        id: 'PanData',
        allowBlank: false,
        disabled: false
    }]
},


{
    xtype: 'container',
    html: '[ OR ]',
    margin: "10 0 0 175"
},


{
    xtype: 'container',
    layout: 'hbox',
    items: [{
        xtype: 'radiofield',
        fieldLabel: 'Owner\'s Declaration *',
        margin: "10 0 0 0",
        name: 'rb',
        id: 'radioAttach',
        inputValue: '2',
        checked: false,
        listeners: {
            change: function (cb, nv, ov) {
                if (nv) {
                    Ext.getCmp('PanData').disable();
                    Ext.getCmp('AttachData').enable();
                }
            }
        }
    }, {
        xtype: 'splitter'
    }, {
        xtype: 'filefield',
        id: 'AttachData',
        name: 'file_path',
        margin: "15 0 0 0",
        buttonText: 'Browse',
        disabled: true
    }]
}] 
});
我已选择“文件”字段,但“浏览”按钮已禁用

它似乎出现在ExtJs 4.1中

这在ExtJS 4.1.3版中得到了解决

我们可以通过在启用字段的同时删除这些
'x-disabled x-btn-disabled x-item-disabled x-btn-default-small-disabled'
css类,并在禁用字段的同时再次添加这些类来解决问题。 因此,在禁用字段时添加了以下行:

Ext.select(".x-btn",Ext.getCmp('AttachData')).addCls('x-disabled x-btn-disabled x-item-disabled x-btn-default-small-disabled'); 
Ext.select(".x-btn",Ext.getCmp('AttachData')).removeCls('x-disabled x-btn-disabled x-item-disabled x-btn-default-small-disabled');
&启用该字段时添加了以下行:

Ext.select(".x-btn",Ext.getCmp('AttachData')).addCls('x-disabled x-btn-disabled x-item-disabled x-btn-default-small-disabled'); 
Ext.select(".x-btn",Ext.getCmp('AttachData')).removeCls('x-disabled x-btn-disabled x-item-disabled x-btn-default-small-disabled');
完整代码:

 Ext.widget('panel', {
    title: 'Test panel', 
    width: 400, 
    height: 200,
    renderTo: 'codeoutput',
    layout: 'vbox',
    items: [

    {
        xtype: 'container',
        layout: 'hbox',
        items: [{
            xtype: 'radiofield',
            fieldLabel: 'PAN Number *',
            margin: "20 0 0 0",
            name: 'rb',
            id: 'radioPan',
            inputValue: '1',
            checked: true,
            listeners: {
                change: function (cb, nv, ov) {
                    if (nv) {
                        Ext.getCmp('AttachData').disable();
                        Ext.getCmp('PanData').enable();
                        Ext.select(".x-btn",Ext.getCmp('AttachData')).addCls('x-disabled x-btn-disabled x-item-disabled x-btn-default-small-disabled');
                    }
                }
            }
        }, {
            xtype: 'splitter'
        }, {
            xtype: 'textfield',
            margin: "20 0 0 0",
            id: 'PanData',
            allowBlank: false,
            disabled: false
        }]
    },


    {
        xtype: 'container',
        html: '[ OR ]',
        margin: "10 0 0 175"
    },


    {
        xtype: 'container',
        layout: 'hbox',
        items: [{
            xtype: 'radiofield',
            fieldLabel: 'Owner\'s Declaration *',
            margin: "10 0 0 0",
            name: 'rb',
            id: 'radioAttach',
            inputValue: '2',
            checked: false,
            listeners: {
                change: function (cb, nv, ov) {
                    if (nv) {
                        Ext.getCmp('PanData').disable();
                        Ext.getCmp('AttachData').enable();
                      Ext.select(".x-btn",Ext.getCmp('AttachData')).removeCls('x-disabled x-btn-disabled x-item-disabled x-btn-default-small-disabled');

                    }
                }
            }
        }, {
            xtype: 'splitter'
        }, {
            xtype: 'filefield',
            id: 'AttachData',
            name: 'file_path',
            margin: "15 0 0 0",
            buttonText: 'Browse',
            disabled: true
        }]
    }] 
    });

您使用的是哪个版本?谢谢您的回答,它在在线仿真器中工作。但在我的应用程序中,它不起作用。是否有其他方法。是否对文件字段使用相同的id
AttachData
?我已检查。。实际上,该代码在Chrome浏览器中运行良好,而不是在IE 11hi中。我在您的帮助下解决了问题。谢谢我已经更改了ext-all-dev.js主文件“this['buttonEl-btnEl'].dom.disabled=false”中的代码;这解决了启用问题