2011-05-14 2 views
0

두 개의 '저장 및 새로 고침'단추와 '지우기'단추가있는 Extjs 창이 있습니다.ExtJs 창 (Ext.Window)의 단추를 클릭하여 새로 고치는 방법

이제 '저장하고 새로 고침'버튼을 클릭하면 창을 새로 고침해야합니다.

이 방법에 대해 설명해 주시겠습니까? 잘 부탁드립니다

,

감사합니다, Sathya

+0

새로 고침은 무엇을 의미합니까? 전체 브라우저 창을 새로 고칩니다. ext 창에서 데이터를 다시로드 하시겠습니까? – ncank

+0

ext 창에서 데이터를 다시로드하는 것입니다. extjs와 자바 스프링 조합을 사용하고 있습니다 – Satya

답변

1

당신은 버튼에 대한 참조가 필요합니다 "새로 고침". 희망 부동산 당신은 이미 당신의 코드를 가지고 있지만, 그렇지 않으면 당신은 Ext.Windows에게 공개 "버튼"을 시도 할 수 :

var = saveAndRefreshButton = myExtWindow.buttons[0]; // or 1 

내가 오른쪽 버튼 속성 ... 4.0에서 멀리 갔다 기억한다면 비록 모든 더 버튼에 대한 자신 만의 참조를 유지하는 이유.

즉시 버튼 클릭으로 페이지를 다시로드하려면 :

saveAndRefreshButton.on('click', function() { 
    window.location.reload(); // standard JavaScript to reload a page. 
}); 

가능성이 당신이 완료하는 AJAX 요청을 대기 할 것이다 저장 (귀하의 질문에 아약스 태그를 기반으로 추측 상식)

saveAndRefreshButton.on('click', function() { 
    Ext.Ajax.request({ 
     url: 'save.php', 
     // jsonData, params, or whatever to pass down the data to save, 
     success: function() { 
      window.location.reload(); 
     }, 
     failure: function() { 
      // couldn't save... show an error or something. 
     } 
    }); 
}); 
+0

사실 자바 스프링 조합으로 Extjs를 사용하고 있습니다. 같은 코드를 사용할 수 있습니까? 또는 PHP와 관련이 있습니까? – Satya

+0

"save.php"는 저장할 URL 핸들의 자리 표시 자입니다. 이 서버 측을 작성해야하지만 ExtJS 클라이언트 코드는 다음과 같습니다. – olooney

0

나는 생각한다, 당신은이 두 가지 단계가 필요합니다. 다음 메타 HTTP-당량 =를 사용하는

시도를 새로 저장

<?php print "<meta http-equiv=\"refresh\" content=\"1;URL=SOMETHING.PAGE\">"; ?> 
0

나는 창에 양식이 있다고 생각합니다. 그래서, & 새로 고침 버튼을 저장하기 위해 핸들러를 바인드해야합니다.

제출 방법을 사용할 수 있습니다. 제출할 콜백 함수를 바인드 할 수 있습니다. docs를 참조 할 수 있습니다. 여기에 docs에서 가져온 샘플 제출 구현; 당신이 응답을 사용할 수 있습니다

{ 
    "success":false, // note this is Boolean, not string 
    "msg":"You do not have permission to perform this operation" 
} 

: 실패한 작업에 대한

{ 
    "success":true, // note this is Boolean, not string 
    "msg":"Consignment updated" 
} 

: 성공적인 운영을위한

:이 같은 응답을 준비해야 서버 측에서

myFormPanel.getForm().submit({ 
    clientValidation: true, 
    url: 'updateConsignment.php', 
    params: { 
     newStatus: 'delivered' 
    }, 
    success: function(form, action) { 
     Ext.Msg.alert('Success', action.result.msg); 
    }, 
    failure: function(form, action) { 
     switch (action.failureType) { 
      case Ext.form.Action.CLIENT_INVALID: 
       Ext.Msg.alert('Failure', 'Form fields may not be submitted with invalid values'); 
       break; 
      case Ext.form.Action.CONNECT_FAILURE: 
       Ext.Msg.alert('Failure', 'Ajax communication failed'); 
       break; 
      case Ext.form.Action.SERVER_INVALID: 
       Ext.Msg.alert('Failure', action.result.msg); 
     } 
    } 
}); 

업데이트 된 (새로 고쳐지는) 데이터를 보낼 객체입니다. 양식의 제출 콜백 함수에서 응답 데이터를 가져 와서 양식을 새로 고치는 데 사용할 수 있습니다.

희망 하시겠습니까?

관련 문제