基本上,我试图通知用户他们是否成功添加了他们的文件,并且通知在3秒后消失。问题是我整个页面淡出而不仅仅是通知。它与我的其他页面一起工作,只是想知道为什么它在这个上有所不同。会话变量是根据我检查的内容设置的。
以下是脚本的代码:
<script src="<?php echo base_url();?>js/jquery-1.11.0.min.js"></script>
<script type = 'text/javascript'>
$(function(){
$('.success').fadeOut(3000);
$('.failure').fadeOut(3000);
});
</script>
以下是该页面的代码:
<?php
if(isset($_SESSION['success'])){
echo "<div class = 'success'>".$_SESSION['success']."</div>";
unset($_SESSION['success']);
}
else if(isset($_SESSION['fail'])){
echo "<div class = 'failure'>".$_SESSION['fail']."/div";
unset($_SESSION['fail']);
}
?>
<div>//some form code here</div>
答案 0 :(得分:1)
我的猜测是,因为你错过了&#34;&lt;&#34;和&#34;&gt;&#34;关于div关闭:
echo "<div class = 'failure'>".$_SESSION['fail']."/div";
由于div没有关闭,页面的其余部分可能会被解释为其中的一部分。
看看是否有效:
echo "<div class = 'failure'>".$_SESSION['fail']."</div>";
答案 1 :(得分:1)
此行不正确:
echo "<div class = 'failure'>".$_SESSION['fail']."/div";
它不包含关闭div的结束括号。通过这种方式,vrowser不知道故障div已经关闭,因此它会认为其余的内容都在其中。要解决此问题,该行应为:
echo "<div class = 'failure'>".$_SESSION['fail']."</div>";