2010-12-11 5 views
0

두 개의 버튼, 제출 버튼 및 취소/닫기 버튼이있는 양식이 있습니다. 사용자가 제출을 클릭하면 입력 된 데이터는 http://www.position-absolute.com/articles/jquery-form-validator-because-form-validation-is-a-mess/을 사용하여 유효성이 검사됩니다. 모든 것이 유효하면 양식은 jQuery/AJAX로 제출됩니다. 그것들은 모두 훌륭하고 멋쟁이입니다. 그래도 문제가 취소 버튼을 실행합니다. 취소 버튼에 확인을 요청합니다. 사용자가 진행을 선택하면, 내가 선택한 페이지로 이동합니다. 그들이 취소하고 싶지 않다고 결정하면 페이지에 그대로 남습니다. 그것은 작동하지 않는 마지막 부분입니다.jQuery AJAX 제출을 사용하여 양식을 처리/제출하지 않으려면 어떻게해야합니까?

내 폼 코드는 다음과 같습니다

<form name="createPage" id="createPage" method="post" action="pager.php" class="ajax updateForm"> 
<input name="whatever" type="text" /> 
      <button type="submit" id="submitQuickSave" class="submitSave"><span>save</span></button> 
      <button type="submit" id="submitCancel" class="submitClose" onclick='confirm_close()'><span>close</span></button> 
</form> 

내 취소 현재 스크립트는 다음과 같다. 사용자가 실제로 취소를 원한다면 양식 제출을 바인딩 해제하여 유효성 검증이 실행되지 않도록하십시오. 그런 다음 양식은 제출을 진행하고 취소는 action 속성의 매개 변수로 포함됩니다. 취소 서버 측을 처리하고 사용자를 새 페이지로 안내합니다.

function confirm_close() 
{ 
var r=confirm("All changes since your last save operation will be discarded."); 
if (r==true) 
    { 
    $(".ajax").unbind("submit"); 
    } 
else 
    { 

    } 
} 

'else'인수는 무엇을 넣어야할지 알 수 없습니다. 사용자가 취소를 취소하면 (즉, false를 반환하는 경우) 양식은 계속 제출하려고 시도합니다. 나는 멈출 수 없다. 내가 성공하지 않고 여러 사이트에서 사물과 다른 사람을 시도했다 :
event.stopImmediatePropogation
.abort()

어떤 아이디어? 기본적으로 취소/닫기 버튼이 제대로 작동하게하려면 어떻게해야합니까?

답변

3

separating your JavaScript from your HTML을 고려하십시오. 이를 염두에두고, 당신은 당신이 이런 식으로 차단하려는 사용자의 클릭 이벤트에 대한 핸들러를 작성할 수

$("button#cancel").click(function($event) { 
    var r = confirm("All changes since your last save operation will be discarded."); 
    if (r) { 
     $(".ajax").unbind("submit"); 
    } 
    else { 
     $event.preventDefault(); 
    } 
}); 

당신은 당신의 HTML을 조정할와 cancel 버튼에 id 속성을 추가해야합니다 :

를 여기

<button id="cancel" type="submit" value="cancel">Cancel</button>

예 : 도움이 http://jsfiddle.net/wvFDy/

희망!

+0

빙고. 많은 감사합니다. – technoTarek

0

난 그냥

return false; 

이 작동하는지 알려줘 당신을 믿습니다.

+0

아쉽게도 아약스 제출은 여전히 ​​처리됩니다. – technoTarek

관련 문제