내가 버튼을 클릭 제출 양식에 순서대로 일부 기능을 호출 할 필요가> FUNC2를() -> func3() ... -> func7() -> ...모든 양식 제출 및 추가 처리를 중지 할 수있는 동기/비동기 기능의 순서를 설정하는 올바른 방법은 무엇입니까?)</p> <p>에서 func1 (- -
이러한 모든 기능은 일종의 유효성 검사/검사를 수행하며 유효성 검사가 실패하면 사용자에게 확인 대화 상자를 표시합니다. 사용자가 확인하면 대기열의 다음 기능이 실행됩니다.
이러한 함수 중 일부는 Ajax 요청을 보내는 것과 같은 비동기 작업을 수행 할 수 있으며 결과에 따라 사용자에게 일부 확인 대화 상자를 표시 할 수 있습니다.
세부
I가 다음과 같은 구조의 비동기 기능 -이 작업을 수행하려면 어떻게
function preValidateUrls(evt)
{
evt.preventDefault();
$.ajax({
type: "POST",
url: posturl+"?"+params,
dataType: "json",
success: function(res)
{
//display some confirmation dialog
if(confirm(msg))
{
$("form#frmBanners").submit();
}
}
});
}
? 난 그냥 다음과 같이 정의 된 두 개의 동기 기능을 가지고와
시작하기 -<form onsubmit="return func3()">
...
...
<input type="submit" onclick="return func1()"/>
</form>
을
-
은
에서 func1() ... 확인 대화 상자, 다음 FUNC2을() 표시, 처음에 호출되는했다
그런 다음 위와 같은 구조의 func2() 비동기 함수를 정의하고 다음과 같이 호출했습니다.
$ ("input # formsubmitbutton") click (func2);
그러나 예상대로 func1()의 확인을 기다리지 않습니다. 나는 다음과 같이 할 경우
이 함수
func2
다시하고 다시 호출되는 -$ ('폼 #의 frmBanners'을() 함수() { 반환 FUNC2()를 제출;.// 이것은 preValidateUrls() 후에 호출됩니다 });
어떻게 깨끗한 방법으로이 작업을 수행 할, 그래서 사이에 어떤 동기/비동기 기능을 추가 할 필요가 내일, 나는 한 장소에서 편집해야 뭔가 같은 -
func1() -> func2() -> func3() ... -> func7()
PS - 나도 알아, 자바 스크립트에서 콜백 함수를 사용하는 방법.
이 질문에 답할 수 있는지 확인하십시오. http://stackoverflow.com/questions/13234386/using-deferred-with-jquery-ajax-calls-and-async-processes-along-with-user-confir –