2011-03-01 3 views
0

에 이벤트를 "제출"발생시키지 않습니다,이 같은 아약스 양식을 선언했습니다 은 "제출"이벤트에합니다 (alert는 테스트입니다) :Ajax.BeginForm는 ASP.NET MVC 3에서 IE 팔분의 칠

$("#request-form").submit(function() { 
    alert("submit"); 
    if (!$("#agree-checkbox").is(":checked")) { 
     $("#agree-dialog").dialog("open"); 
     return false; 
    } 
}); 

는 Windows에서 크롬과 파이어 폭스에서 이벤트 핸들러가 호출하고 난 경고가 표시됩니다. IE 7과 8에서는 알림이 표시되지 않고 양식이 제출됩니다.

그때 핸들러가 IE에서 호출되는 비 아약스 양식을 사용하는 코드를 변경하는 경우 :

@using (Html.BeginForm("SaveRegistrationConfirmationRequest", "Account", FormMethod.Post, new { id = "request-form" })) 

를 내가이 IE에서 아약스 양식을 작업하려면 어떻게해야합니까? 어떤 도움을 주시면 감사하겠습니다!

답변

0

나는 ajaxSend 이벤트를 사용하여 종료 :

이 IE 7, 8, 파이어 폭스와 크롬에서 작동
$("#request-form").ajaxSend(function (evt, request, settings) { 
    if (!$("#agree-checkbox").is(":checked")) { 
     request.abort(); 
     $("#agree-validation").addClass("field-validation-error"); 
     $("#agree-validation").removeClass("field-validation-valid"); 

    } 
}); 

.

관련 문제