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)。
希望有帮助