【发布时间】:2018-01-16 21:26:07
【问题描述】:
我一直在使用 JQuery 来显示/隐藏基于登录状态的元素,但是我遇到了一些意想不到的结果,代码如下:
<script>
$(document).ready(function(){
$("#uploadform").hide();
});
</script>
如果用户未登录,这将隐藏表单。
<h2 id="needlogon"> You need to be logged in </h2>
<a id="needlogon" href="index.php"> Back to start </a>
只有在用户未登录时才会显示这些内容
<?php
if (isset($_SESSION['cid'])){
echo '<script>
$(document).ready(function(){
$("#uploadform").show();
$("needlogon").hide();
});
</script>';
}
?>
上传表单按意图显示/隐藏,但设置条件 ($_SESSION['cid']) 时不会隐藏需要登录元素。它起作用的唯一方法是,如果我将元素的 ID 更改为需要登录 1 和需要登录 2,并将 JQuery 更改为:
<?php
if (isset($_SESSION['cid'])){
echo '<script>
$(document).ready(function(){
$("#uploadform").show();
$("#needlogon1").hide();
$("#needlogon2").hide();
});
</script>';
}
?>
我确定我只是错过了一些愚蠢的东西,有人知道它是什么吗?
【问题讨论】:
-
您知道这不会以任何方式阻止人们在未登录的情况下使用您的上传表单,对吧?
-
id 是单数的。您只能拥有一个具有相同 id 的元素
-
你错过了这里的#:$("needlogon").hide();
标签: javascript php jquery show-hide