永久隐藏div内容

时间:2014-03-09 20:42:24

标签: javascript php

我希望当用户点击提交按钮时内容消失(random text 3),直到用户注销。 JS工作正常但是,如果我刷新页面,则会显示内容。任何人都可以帮助我实现这一点,或者任何人都可以将我的代码转换为PHP,以便我可以使用会话变量来实现这一目标吗?

 <style type="text/css">
    div.something{
       /*random code;/*
    }
 </style>

 <script type="text/javascript">
    function hideSomething(){
       document.getElementsByClassName("something")[2].style.display = "none";
    }
 </script>

 <div class="something">random text 1</div>
 <div class="something">random text 2</div>
 <div class="something">random text 3</div><br />
 <input type="submit" value="Disappear" onclick="hideSomething()" />

4 个答案:

答案 0 :(得分:1)

那么专业的方法是将它记录在cookie或使用IP等用户信息存储在数据库中,或者你可以使用粗略的方式将其转发到另一个页面,在那里不会出现你不允许cookie存储的一些让我知道您喜欢哪一个,我将用它填写我的答案样本

答案 1 :(得分:0)

使用cookie并在那里存储div的状态。 您可以使用javascript轻松读取和编写cookie。 可以在这里找到一个很好的教程:http://www.w3schools.com/js/js_cookies.asp

例如,在hideSomething()函数中执行以下操作:

的document.cookie = “display_div =真”;

然后,当页面加载时,调用一个javascript函数,根据cookie的值显示或隐藏div:

if(cookie_value ==“true”)  //隐藏你的div 其他  //展示你的div 端

答案 2 :(得分:0)

首先我们创建一个带有隐藏文本框的表单,一旦用户点击按钮关闭出勤,隐藏文本框的值就会被提交并创建一个会话变量:

if(isset($_POST['hidden'])){
$_SESSION['closed'] = TRUE;
}

然后我们检查是否设置了会话,如果是则显示出勤率关闭,如果没有显示内容。

<?php if(isset($_SESSION['closed'])){
        echo "attendance closed.";
                } 
     else {
               echo "<form name='test' action='attendance.php' method='post'>
         <input type='hidden' name='hidden'/>
         <button> Close Attendance </button>
          </form>"; 
                }
   ?>

答案 3 :(得分:0)

尝试以下代码,它应该让您非常清楚地了解如何执行此操作。

<!DOCTYPE html>
<html>
    <head>
      <title>ZUUS: Ironman</title>
    </head>
    <script type="text/javascript">
        function hideSomething() 
        { 
            document.cookie="hide_div=true"; 
            myFunction();
        } 

        function myFunction() 
        { 
            var cookie_value = getCookie("hide_div");
            alert(cookie_value);
            if(cookie_value == "true") 
                document.getElementById("test_div").style.display = "none"; 
        } 

        function getCookie(cname)
        {
            var name = cname + "=";
            var ca = document.cookie.split(';');
            for(var i=0; i<ca.length; i++) 
          {
            var c = ca[i].trim();
            if (c.indexOf(name)==0) return c.substring(name.length,c.length);
          }
            return "";
        }
    </script>
    <body onload="myFunction();">
        <div id="test_div" style="background-color: blue;" onclick="hideSomething();">
            this is a test
      </div>
    </body>
</html>