【问题标题】:Disable jQuery effect on page refresh在页面刷新时禁用 jQuery 效果
【发布时间】:2012-10-04 23:37:43
【问题描述】:

概述

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

问题

每次表单验证时,它都会刷新网页,并且 div#lead_form SlideDown 需要 5 秒才能滑入。我想要做的是,有一个 true false 变量并检查是否已单击提交按钮,如果为 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?

【问题讨论】:

    标签: php jquery


    【解决方案1】:

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

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

    然后改变你的 jQuery 准备好

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

    【讨论】:

    • 谢谢@veblock。不应该只是 var postBack = true;而不是 echo "var postBack = true;";?
    • 不,您在
    • 哦!我懂了。这是有道理的。完美的。我会试一试的。谢谢老哥
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2021-10-31
      • 1970-01-01
      • 1970-01-01
      • 2013-12-13
      • 1970-01-01
      • 2018-12-04
      • 1970-01-01
      • 1970-01-01
      • 2013-07-12
      相关资源
      最近更新 更多