2012-01-24 14 views
0

我正在使用extjs 2.0.1,我有一些按鈕,我或者做form.submit或Ext.Ajax.request。在上述請求成功之後,我閱讀了回覆,並根據回覆,我需要向用戶顯示一個彈出窗口/提醒。問題是ext.msg.alert,ext.msg.show在這種情況下似乎沒有任何工作。但如果我使用簡單的alert(),它工作正常。這很奇怪,因爲我多次使用ext.msg.alert,直到現在我還沒有遇到任何問題。任何人都可以幫我弄清楚這個問題嗎? 代碼ext.msg.alert不工作

fp.getForm().submit({ 
     url : some url 
     method :'POST', 
     waitMsg :'please wait', 
     success :function(response,status) { 
      var dataResponse = Ext.util.JSON.decode(status.response.responseText); 
      var warning=dataResponse['warning']; 
      if(warning != "false"){      
       Ext.Msg.alert("Warning!",warning);//NOT WORKING 
       alert(warning); //WORKS FINE 
      } 
      var tab = tabs2.getComponent(2); 
      var tabs2Panel = tabs2.setActiveTab(tab); 
      }, 
+0

只是一個小檢查,你有沒有在你的頁面中包含MessageBox類? – dkulkarni

+0

是的,Ext.Msg.alert在表單提交失敗的情況下工作在同一個類中......但它不能成功地工作。 – Coder

回答

0

Ext.Msg.alert不是模態對話框,你必須使用消息框關閉後調用的回調函數。代碼必須像這樣重寫

fp.getForm().submit({ 
     url : some url 
     method :'POST', 
     waitMsg :'please wait', 
     success :function(response,status) { 
      var dataResponse = Ext.util.JSON.decode(status.response.responseText); 
      var warning=dataResponse['warning']; 
      if(warning != "false"){      
       Ext.Msg.alert("Warning!",warning, function() { 
        alert(warning); 
        var tab = tabs2.getComponent(2); 
        var tabs2Panel = tabs2.setActiveTab(tab); 
       });     
      } 
     },