禁用页面刷新时的jQuery效果

时间:2012-10-04 23:37:43

标签: php jquery

概述

我在页面加载后的5秒内让div#lead_form表示SlideDown。在那个div中,我有一个提交按钮。每当有人点击提交时,#lead_form中的表单将验证输入字段并刷新页面。

问题

每次表单验证时,它都会刷新网页并且div#lead_form SlideDown需要5秒才能滑入。我想要做的是,有一个真正的假变量并检查是否已单击提交按钮,如果为true ,禁用div#lead_form SlideDown效果?

我的HTML

<div id="lead_form">
<div id="button"><a href="#"></a></div>
</div>

我的jQuery

$(document).ready(function() {
 $("#lead_form").hide(0).delay(4000).slideDown(5000);
});

首饰

This is not exactly what I'm after, but similar?

2 个答案:

答案 0 :(得分:2)

在您的服务器端代码中检查请求是否随表单一起提交,并将结果作为javascript var写入页面上的给定部分

if( isset($_POST['yourFORMFIELD']) )
{
     echo "var postBack = true;";
}

然后将jQuery准备好改为

$(document).ready(function() {
    if(!postBack) {
        $("#lead_form").hide(0).delay(4000).slideDown(5000);
    }
});

答案 1 :(得分:0)

由于页面重新加载,您无法仅使用javascript解决此问题。 你必须以某种方式持久保存状态(如果表单已提交)并在重新加载页面后检查该状态。 您可以通过cookie或本地存储(本地存储仅适用于最近的浏览器)来完成此操作