Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.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 在extjs4.2中保存后禁用按钮_Javascript_Extjs_Extjs4.2 - Fatal编程技术网

Javascript 在extjs4.2中保存后禁用按钮

Javascript 在extjs4.2中保存后禁用按钮,javascript,extjs,extjs4.2,Javascript,Extjs,Extjs4.2,我正在一个保存按钮上保存三个选项卡,但是在单击“保存”按钮时,我试图禁用该按钮,同时将数据保存在三个选项卡中,以防止用户多次单击“保存”按钮,因为我的功能超时。有关于如何做的帮助吗 Ext.onReady(function(){ tabPanel = Ext.create('Ext.tab.Panel', { region: 'center', activeTab: 0, autoScroll: true, tbar:

我正在一个保存按钮上保存三个选项卡,但是在单击“保存”按钮时,我试图禁用该按钮,同时将数据保存在三个选项卡中,以防止用户多次单击“保存”按钮,因为我的功能超时。有关于如何做的帮助吗

Ext.onReady(function(){



    tabPanel = Ext.create('Ext.tab.Panel', {
        region: 'center',
        activeTab: 0,
        autoScroll: true,
        tbar: [{
            xtype: 'button',
            deferredRender : false, 
            handler:function(){
            save("frm_A", save);
            },    


        }],
        items: [
                {   
                    id:"panel_A",
                    html: "<iframe src= '"+A_url +"' width='100%' height='100%' id='frm_A' name='frm_A' frameborder=0 />",        
                },{
                    id:"panel_B",
                    html: "<iframe src='"+B_url+"'  width='100%' height='100%' id='frm_B' name='frm_B' frameborder=0 />",

                },{
                    id:"panel_C",
                    html: "<iframe src= '"+C_url+"' width='100%' height='100%' id='frm_C' name='frm_C' frameborder=0 />",
                }]

        });


    viewport = new Ext.Viewport({
        layout:'border',
        items:[tabPanel]
    });



    function save(record){

        var Aid = record.getField("NUMBER").getRealValue();
        var currentTab = tabPanel.getActiveTab();
              tabPanel.setActiveTab(1);
              tabPanel.setActiveTab(2);
              tabPanel.setActiveTab(0);
              tabPanel.setActiveTab(currentTab);

        var B= window.frames["frm_B"];
        var C= window.frames["frm_C"];

        setTimeout(function(){   
            try {
            B.RECORD.getField("ID").setRealValue(Aid);
            C.RECORD.getField("ID").setRealValue(Aid);
            B.RECORD.update();
            C.RECORD.update();

            parent.refreshGrid();
            parent.win.close();
        }
        catch(e){
            showError(e);
        }
        }, 4000);

    }


});
Ext.onReady(函数(){
tabPanel=Ext.create('Ext.tab.Panel'{
地区:'中心',
活动选项卡:0,
autoScroll:是的,
待定:[{
xtype:'按钮',
延迟呈现:false,
处理程序:函数(){
保存(“frm_A”,保存);
},    
}],
项目:[
{   
id:“面板A”,
html:“”,
},{
id:“面板B”,
html:“”,
},{
id:“面板C”,
html:“”,
}]
});
视口=新的外部视口({
布局:'边框',
项目:[选项卡面板]
});
功能保存(记录){
var-Aid=record.getField(“NUMBER”).getRealValue();
var currentTab=tabPanel.getActiveTab();
tabPanel.setActiveTab(1);
tabPanel.setActiveTab(2);
tabPanel.setActiveTab(0);
tabPanel.setActiveTab(currentTab);
var B=窗口帧[“frm_B”];
var C=窗口帧[“frm_C”];
setTimeout(函数(){
试一试{
B.RECORD.getField(“ID”).setRealValue(Aid);
C.RECORD.getField(“ID”).setRealValue(Aid);
B.RECORD.update();
C.RECORD.update();
parent.refreshGrid();
parent.win.close();
}
捕获(e){
ROR(e);
}
}, 4000);
}
});

保存处理程序中的一种方法是调用按钮的setDisabled()方法

例如:

handler: function() {
   this.setDisabled(true);
   save("frm_A", save);
}
然后,在setTimeout中可以设置禁用(false)

<>为了有效地做到这一点,您可能需要考虑重构您的保存处理程序,例如,将“这个”作为参数传递给您的保存函数,这样您就可以在该参数上调用SETABESTATION(FALSE)。


希望有帮助。

保存处理程序中的一种方法是调用按钮的setDisabled()方法

例如:

handler: function() {
   this.setDisabled(true);
   save("frm_A", save);
}
然后,在setTimeout中可以设置禁用(false)

<>为了有效地做到这一点,您可能需要考虑重构您的保存处理程序,例如,将“这个”作为参数传递给您的保存函数,这样您就可以在该参数上调用SETABESTATION(FALSE)。

希望有帮助