我希望当用户点击提交按钮时内容消失(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()" />
答案 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>