当div
准备就绪时,hide()
设置为document
。我想在包含的div变得可见时显示这个div。我还有一个接受用户输入的表单。表单将重定向到其页面action ="<?php echo htmlentities($_SERVER['PHP_SELF']);?>"
。 提交有一个班级.submitRecord
。成功将记录提交给DB后,包含的div变为可见。
PHP代码:
if (isset($_POST['submitRecord']) && $success != ''){
echo "<div class='containingDiv'>";
echo "<div class='alloc'>";
echo "<p class = 'closeButton'> x </p>";
echo "<p class = 'allocationSuccess'>Allocation Successful for Mr/Mrs ABC</p>";
echo "</div>";
echo "</div>";
};
jQuery代码:
$(document).ready(function(){
$('.containingDiv, .alloc').hide();
$(document).on('click', '#saveRecord', function () {
if ($(".containingDiv").is(':visible')){
$('.alloc').slideDown(500);
}
});
$(document).on('click', '.closeButton', function () {
$('.alloc').hide(500);
});
});
表单已提交,并为var
$success
分配了一个字符串,但.alloc
将不会显示。
任何帮助都将深受赞赏。
答案 0 :(得分:1)
根据您的标题,您使用的是普通表单提交(无ajax)。这意味着事件的流程如下:
div
设置动画; div
已添加到页面中,但仍保持隐藏状态。有两种解决方案:
timeOut
或按钮点击后隐藏它。请注意,您不必在页面加载时隐藏该框,因为它仅在成功的表单提交时添加到页面中。