2011-08-07 3 views
0

오전 모두 - 페이지로드시 양식을 제출하고 사용자를 다른 사이트로 리디렉션하는 페이지가 있습니다. 다른 쪽 끝의 응답이 약간 느릴 수 있으므로 사용자를 안심시키기 위해 가짜로드 진행률 표시기로이 페이지를 만들었습니다. 더 안심할 수 있도록 "Y 초 안에 X로 리디렉션되어야합니다."라는 카운트 다운 메시지를 추가하려고했습니다.JQuery 카운트 다운은 양식의 onLoad 제출을 중지합니다.

이 JQuery 예제는 "countdown"id 요소를 현재 숫자로 업데이트합니다. 카운트 다운이 불행하게도 나는이 .. 도현 실행이 완료 될 때까지 스크립트가 실제로 양식의 제출을 ​​중지 것으로 나타났습니다 0 에 도달하기 전에

{$(function(){ 
    var count = 7; 
    countdown = setInterval(function(){ 
    $("#countdown").html(count); 
    if (count == 0) { 
     clearInterval(countdown); 
     $('#countdown_container').html("If you seem to be stuck <a href='javascript:the_form.submit();'>click here</a> to try again."); 
    } 
    count--; 
    }, 1000); 
});} 

나는 리디렉션이 일어날 것으로 예상! 누구든지이 문제를 해결할 수있는 방법을 제안 할 수 있습니까?

감사합니다. 나중에


비트 :

그냥 프라 빈의 질문 후에 명확하게, 나는 방법 포스트 및 데이터를 포함하는 다양한 숨겨진 입력과 같은 페이지에 정상적인 형태로 다른 사이트에 게시 할 수 있습니다. 내 페이지의 body 태그에는 onLoad = "document.forms [ 'the_form']. submit()"과 같이이 양식을 제출하는 onload 문이 있습니다. (아마도 JQuery로드 이벤트에서 더 잘 수행되었다는 것을 알고 있습니다.)

+1

바보 같은 질문이지만이 줄에는 견적이 누락되어 있습니까? If if –

+0

Justice, 내 사과 Justin, 그건 그냥 바보 같은 typo - 피곤했다. 지금 수정하려면 편집 –

답변

1

언제든지 $ .get 또는 $ .post를 사용하여 제출할 수 있습니다. 콜백이 실행되면 리디렉션하거나 원하는대로 할 수 있습니다. 이렇게 수동으로 수행하면 이 반환 한 데이터로 수행 할 작업을 제어하고 이후에 다른 페이지로 리디렉션하려는 경우를 제어 할 수 있습니다.

//html  
<input type="text" name="firstname" value="some text" /> 

//jquery 
$.get("mypage.php", { firstname: $("input [name=firstname]").first().val() },function(data){ 
//redirect, show popup, do as you like since the form has been submitted 
//data contains the results that were printed 
}); 
+0

고마워 드레이크 - 나는 반대편에서 응답을 제어 할 수 없지만 나는 추측한다. 콜백을 받으면 카운트 다운을 중단하고 브라우저를 대상 페이지로 리디렉션 할 수 있습니다. –

0

나는이 질문을 3 번 읽었지만 여전히 이해하지 못했습니다.

이 또한 내가 (당신이 I expected that the redirect..를 말했다)

나는 또한 제출 코드를 찾을 didnt는 리디렉션 어떤 리디렉션 코드 또는 다른 메커니즘을 찾아 일부러, 당신은 script actually stops submission..을 말했다.

더 많이 표시하거나 더 설명해야한다고 생각합니다.

관련 문제