使用jQuery获取页面延迟重新加载

时间:2012-06-19 17:29:25

标签: javascript jquery html

我希望在提交表单时编程延迟3秒。现在,在提交时,标准文本淡出,通知文本淡入,但页面会在您有机会阅读之前重新加载。

<script type="text/javascript"> function changeText() { 
$('#free-planner').fadeOut('slow', function() {
       document.getElementById('free-planner').innerHTML = 'Check your email!';   }); {  $('#free-planner').fadeIn('slow', function() {  });    
 }   
} 
</script>

1 个答案:

答案 0 :(得分:4)

首先,阻止提交事件,然后在准备好时以编程方式触发它。

$('form').on('submit', function(ev) {
  ev.preventDefault();
  form = $(this);
  fp = $('#free-planner');
  fp.fadeOut('slow', function () {
    fp.text('Check your email!').fadeIn('slow', function() {
      form.submit();
    });
  });
});

所有这些东西都应该在表单提交后发生。也许你想要一个隐藏的iframe作为你表单的目标?然后,您可以在不更新浏览器中的当前页面的情况下提交表单。类似的东西:

form = $('form');
$('body').append($('<iframe>').attr({ name:"hiddenifr", id:"hiddenifr" }).css({ display: 'none' }));

form.attr('target', 'hiddenifr');
form.on('submit', function(ev) {
  fp = $('#free-planner')
  fp.fadeOut('slow', function() {
    fp.text('Check your email!').fadeIn('slow');
  });
});