2013-08-30 2 views
0

텍스트 상자가 있습니다. 사용자가 무언가를 입력하자마자 창을 열고 창에 데이터를 표시합니다. 결과가 없으면이 창을 닫은 다음 메시지 상자를 표시하려고합니다. 자세한 내용은 아래 이미지를 참조하십시오. enter image description herewin.close()는 ExtJS의 메시지 상자를 닫습니다.

상점의로드 이벤트에서 다음 코드를 작성했습니다.

'load': function (thisStore, records, successful, eOpts) { 
      if (successful) { 
       if (records == null || typeof records[0] === "undefined") { 
         var win = Ext.WindowManager.getActive(); 
         if (win) { 
          win.close(); 
         } 
        var msg = 'No records found for the given selection.'; 
        MessageWindow.show('Information', msg, Ext.Msg.OK, Ext.Msg.INFO); 
       } 
      } 
     } 

을하지만이 코드가 실행될 때, 그것은 또한 (검색 창과 함께) 메시지 상자를 닫습니다 :

'load': function (thisStore, records, successful, eOpts) { 
      if (successful) { 
       if (records == null || typeof records[0] === "undefined") { 

        var msg = 'No records found for the given selection.'; 
        MessageWindow.show('Information', msg, Ext.Msg.OK, Ext.Msg.INFO); 
       } 
      } 
     } 

은 지금은에 코드를 변경, 검색 결과 창을 닫습니다. 검색 창을 닫고 싶습니다.

나는 메시지 상자를 유지하면서 그것의 가능한 것은 바로 창을 닫습니다 생각하지 않습니다

답변

-2

을 힐로하십시오. 당신이 할 수있는 일은 창이 닫히고, 같은 텍스트로 새로운 메시지 박스를 표시하는 것입니다.

+0

-1 이것은 올바르지 않습니다. 메시지 상자는 다른 창에서 나올 수 없습니다. –

+0

나는 그것이 있다고 생각했다. 나를 고쳐 주셔서 고마워요. – Aashray

+0

답장을 보내 주셔서 감사합니다. 코드가 표시되면 먼저 창을 닫은 다음 메시지를 표시합니다. 왜 그것이 창과 메시지 상자 둘 다 닫히는지 모르겠습니다. – SharpCoder

1

첫 번째로 메시지 상자 (Evan Trimboli가 설명)는 창 자식이 아닙니다.

내 로컬 extjs 프로젝트 (Ext.Window 만들기 및 메시지 상자 만들기)에서이 동작을 테스트했습니다. Heres 일부 코드

openWindow: function() { 
    this.initWindow(); 
    this.window.doLayout(); 
    this.window.show(); 

    Ext.MessageBox.alert(translate('error', 'general'), 'tag'); 
    window.setTimeout(function() {     
     BlueFork.Taskstatus.Creation.window.close(); 
     BlueFork.Taskstatus.Creation.window.destroy(); 
    }, 5000); 
}, 

이 코드를 사용하면 extjs가 메시지 상자가 아니라 창을 닫습니다. 메시지 박스를 닫습니다

var win = Ext.WindowManager.getActive(); 
win.close(); 

를 사용

.

로드 이벤트가 얼마나 자주 발생하는지 디버깅 했습니까?

두 번 트리거 된 getActive는 두 번째 트리거 인 messagebox를 반환하고 창을 반환합니까? 두 창은 닫히고 있습니다.

건배!