JQuery倒计时停止onLoad提交表单

时间:2011-08-07 07:10:38

标签: javascript jquery javascript-events

早上好 - 我有一个页面在页面加载时提交表单并将用户重定向到另一个站点。来自另一端的响应可能有点慢,所以我创建了一个带有假加载进度指示器的页面以向用户保证。为了进一步保证,我想添加倒计时消息“你应该在Y秒内重定向到X”。

我使用了这个JQuery示例,它使用当前数字更新ID为“countdown”的元素。

{$(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之前发生。 不幸的是,我发现脚本实际上停止提交表单,直到它完成运行.. Doh!任何人都可以提出任何解决方法吗?

谢谢!


稍后:

为了澄清Praveen的问题之后,我在同一页面上有一个普通表格,其中包含方法发布和各种隐藏的输入,其中包含要发布到另一个网站的数据。在我的页面的body标签中,我有一个提交此表单的onload语句,例如onLoad =“document.forms ['the_form']。submit()”。 (我意识到在JQuery加载事件中可能做得更好。)

2 个答案:

答案 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
});

答案 1 :(得分:0)

我读过这个问题3次但仍然不明白。

此外,我没有找到任何重定向代码或其他重定向机制(您已经说过I expected that the redirect..

我也没找到提交代码,你说过script actually stops submission..

我认为你应该展示更多或解释更多。