概述
我在页面加载后的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);
});
首饰
答案 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或本地存储(本地存储仅适用于最近的浏览器)来完成此操作