2012-01-08 2 views
1

내 응용 프로그램은 FileResult (첨부 파일)를 반환하는 작업을 호출하는 form.submit()을 수행합니다. 제출하기 전에 javacript를 사용하여 "please wait"div를 작성하십시오. 결과가 반환 될 때이를 지울 필요가 있습니다. 페이지를 쓰는 응답을 반환하는 작업의 경우 window.onload 이벤트를 사용하여 div를 지우지 만 첨부 파일이 반환되면 해당 이벤트는 실행되지 않습니다.mvc FileResult를 반환 한 후 javascript 이벤트가 필요합니다.

제출이 비동기이기 때문에 form.submit();HidePleaseWait()과 같은 작업을 수행하지 않습니다. 첨부 파일이 반환 될 때 발생하는 다른 이벤트가 있습니까? 또는 여러 ActionResult를 결합하여 동일한 응답으로 페이지를 업데이트 할 수있는 방법이 있습니까?

답변

1

jQuery을 사용하는 경우 다음을 수행해야합니다.

$('selector').submit(function(event){ 
    event.preventDefault(); 
    // @Hiding 
    // Do your AJAX call 
    $.ajax({ 
     url: "test.html", 
     success: function(){ 
      // @What to do when done 
     } 
    }); 
}); 
+0

+1 그러나 왜 'event.preventDefault();? – gdoron

+0

"할 때해야 할 일"블록에서 무엇을 할 수 있습니까? 내 pleasewait div를 숨길 수 있다는 것도 알고 있지만 첨부 파일 응답도 처리해야합니다. 예를 들어 내용을 바꾸는 등 "정상적인"응답을 처리하는 방법을 알고 있지만이를 처리하는 방법을 모르겠습니다. –

+0

글쎄, 페이지를 다시로드하지 않고 양식을 보내려면 AJAX 호출로 변경하십시오. 브라우저가 작업 주소로 이동하는 것을 방지합니다. –

관련 문제