2011-08-07 46 views
0

早上所有 - 我有一個頁面提交頁面加載表單,並將用戶重定向到另一個網站。來自另一端的響應可能有點慢,所以我使用虛假的加載進度指示器創建了此頁面以保證用戶安全。爲了進一步讓人安心,我想添加一個倒計時消息,說「你應該在Y秒內重定向到X」。JQuery倒計時停止onLoad提交表格

我使用了這個JQuery示例,它使用當前編號更新了帶有「倒計時」的元素。

{$(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); 
});} 

我預計重定向會發生倒計時達到0 不幸的是,我發現,直到它完成運行..衛生署腳本實際停止形式提交前!任何人都可以提出任何解決方法?

謝謝!


稍後位:

只是爲了普利文的問題澄清後,我有方法後,幷包含數據的各種隱藏的投入在同一頁上正常的形式進行到另一個網站上公佈。在我的頁面的body標籤中,我有一個onload語句提交這個表單,就像onLoad =「document.forms ['the_form']。submit()」。 (我意識到這可能是在JQuery加載事件中完成的更好)。

+1

只是一個愚蠢的問題,但在這一行,你是否錯過了一個報價? $('#countdown_container')。html(如果如果 –

+0

我的歉意賈斯汀,這只是一個愚蠢的錯字 - 累了,現在編輯糾正 –

回答

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..

我還沒有找到提交代碼,你說script actually stops submission..

我認爲你應該展示更多或更多解釋。