2013-08-28 137 views
0

我配置一樣,防止從消息框關閉

Ext.MessageBox.show({ 
buttons:Ext.MessageBox.OKCANCEL, 
prompt:true, 
buttonText:{ok:"Button1",cancel:"Button2"}, 
fn:function(btn, text, cBoxes){ 
    if(btn=='ok'){ 
    // do not close 
    // return false does not help 
    } 
} 
}); 

我不知道如何防止它關閉按鈕點擊一個消息。特別是,當用戶點擊「確定」按鈕時,我不想讓它關閉。我在Web上看到覆蓋,但不知道如何適當地配置按鈕屬性。我想,這項任務應該有一個非常簡單的解決方案。

回答

1

您應該使用常規的window,您可以完全控制它。

在你的情況,這將是這樣的:

Ext.widget('window', { 
    autoShow: true 
    ,closable: false 
    ,modal: true 
    ,title: "My window" 
    ,defaults: { 
     margin: 5 
    } 
    // you can obviously compose the items you want; an input field 
    // is what you get with the prompt window 
    ,items: [{ 
     xtype: 'textfield' 
     ,itemId: 'inputField' 
    }] 
    ,buttons: [{ 
     text: "Button1" 
     ,handler: function(button) { 
      // here's how to get a ref to the window (for closing) 
      var win = button.up('window'), 
       // here's the value of the field 
       input = win.down('#inputField').getValue(); 

      // you can close the window if you want, or not 
      if (!Ext.isEmpty(input)) { 
       win.close(); 
      } 
     } 
    },{ 
     text: "Button2" 
     ,handler: function() { 
      // ... 
     } 
    }] 
});