2009-08-26 8 views
0

는 자바 스크립트 함수에서 나는 양식 submitin 오전 :
form.submit();,form.submit 취소()

데이터의 거대한 양을.

브라우저의 정지 버튼을 클릭하는 것 외에이 작업을 취소 할 수 있습니까?

UPDATE :

어쩌면 내가 내 자신 분명 내가 큰 파일을 제출 중입니다 이루어지지 않았다.
iframe에서 실행되는 uploadcontrol이있는 양식.

답변

0

이것은 클라이언트 - 서버 아키텍처의 전형적인 문제입니다. 일단 HTTP 요청이 이루어지면 멈출 필요가 없습니다. 모든 요청이 끝난 후 상태를 복원하여 모든 것이 원래대로 되돌아 갈 수있는 방법이 필요합니다.

이제 AJAX로 이것을 수행하고 기능을 사용할 수 있습니다. 또는 브라우저에 따라 window.stop() 또는 document.execCommand("Stop")을 시도해 볼 수도 있습니다. 그러나 이들은 이미 전송 된 요청의 문제를 해결하지 못합니다.

3

Gmail의 기능처럼 메일 보내기 (실험실 기능)를 취소 할 수 있습니다.

그냥 보내는 메일을 5 초 지연시킵니다. 그 시간에 서버가 undo AJAX 호출을 받으면 메일이 전송되지 않습니다.

이것은 잠재적으로 서버 측의 복잡성을 증가시킬 수 있지만 그 정도는 아닙니다.

stop_submit(current_id){ 
    try{ 
     document.execCommand('Stop'); 
    }catch(e){} 
    try{ 
     window.stop(); 
    }catch(e){} 

    AJAXCall("/myfolder/cancel_submit/", "id="+current_id, "post"); 
    return; 
} 
: 그래서 모든 일이 같은 (의사)를 보일 것이다

//IE 
document.execCommand('Stop'); 
//Firefox 
window.stop(); 

: 정보가 당신이 this를 사용할 수있는 전송되지 않는 경우

관련 문제