2011-04-19 6 views
1

제출 버튼 submit_marksheets는 제출 전에 마크를 제출하여 확인을 요청합니다.Javery onbeforeunload Jquery 이벤트에 오류가 발생했습니다.

변경 사항이 있으면 사용자가 다른 페이지를 클릭 할 때마다 "변경 사항 저장"확인 메시지가 나타납니다.

아래에 나와있는 코드입니다. 문제는 마크 시트 제출 버튼을 클릭하면 경고가 나타납니다. 하지만 다른 페이지를 클릭하면 이전에 언로드가 호출되지 않습니다. 나는 이유를 모른다.

누구든지이 문제를 해결하는 방법을 알려 줄 수 있습니까?

$(':input', document.frmMarksheets).live("change", function() { 
    $('#submit_marksheets').live('click', function() { 
     setConfirmUnload(false); 
     return true; 
    }); 
    setConfirmUnload(true); 
}); 

function setConfirmUnload(on) { 
    window.onbeforeunload = (on) ? unloadMessage : null; 
} 
+2

'unloadMessage'는 문자열 또는 함수입니까? –

답변

0

나는 당신이 가지고있는 코드의 문제에 대한 이유를 잘 모르겠지만, 언로드 확인 이러한 종류의와 함께 문제를 가지고 있고 이것은 내가했다 경로입니다 :

전역 변수를 설정하는 것이 메시지를 발행할지 여부를 나타내는 지표입니다.

var ConfirmPageExit = true; 
window.onbeforeunload = function(){ return (ConfirmPageExit) ? unloadMessage : null; }; 

이제는 atempt를 종료하면 메시지가 표시됩니다. 그런 다음 메시지를 닫으려는 항목에 대해 var를 false로 설정하십시오.

$('#submit_marksheets').live('click', function() { 
    ConfirmPageExit = false; 
}); 
관련 문제