2014-02-20 74 views
1

我覺得這是一個簡單的答案,但我有一個JS塊,它會在加載頁面時加載。 confirm()框在IsFormDirty上彈出,但無論我點擊確定還是取消,它都會取消。任何幫助?JavaScript IsFormDirty {confirm()}被忽略

window.onunload = function() { 
if (IsFormDirty) { 

    if (confirm('Discard Unsaved Changes?')==false) { 

     var form = $("div.tab-pane.active").find('form'); 
     form.validate(); 
     if (form.valid()) { 
      $.post(form.attr('action'), form.serialize(), 
       function() { 
        refreshRebatePayments(); 
       }).fail(function (request) { 
        $('#dialog').html(request.responseText); 
        $.validator.unobtrusive.parse("#dialog"); 
       }); 

     } 

    } 
} 

}

+3

您的ajax在頁面更改發生之前未完成,它會中止。這是'async:false'是合適的一種情況 –

+0

@KevinB我不認爲chrome以任何方式支持它 –

+0

是的,我不期望確認在所有情況下都能正常工作。 –

回答

0

謝謝大家。我發現這個問題是在函數發生之前發生在函數上的JS運行時錯誤。它現在工作正常。 (旁註:我必須在IE8中工作,所以chrome問題不成問題)。再次感謝