我希望在提交表单时编程延迟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>
答案 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');
});
});