- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 jQuery 函数来根据用户是否登录来显示各种内容。
该函数位于每个页面中包含的标题中(我在相关页面的标题中尝试了它,结果相同。
idloggingIn设置为display:none,jquery应该在登录后显示它,但它永远不会显示。
我已经对loggedIn和loggedOut进行了测试,但都没有出现,但是头部确实更新了链接,尽管是在刷新之后,这是另一个问题。
在标题中,我必须在链接更改之前刷新页面。
非常感谢您的帮助。
<script>
$(document).ready(function () {
var loggedIn = <? php echo json_encode($general - > loggedIn()); ?> ;
if (loggedIn == true) {
$("#loggedIn").show();
} else {
$("#loggedOut").show();
}
});
</script>
以下代码中不会显示loggedIn 或loggedOut 元素。
<p id="loggedOut">YOOOOHOOOOOOO</p>
</div>
<?php
$body = <<<EOT
<div class="viewAndDownload" id="loggedIn">
<a href="../download.php?filename=bla.pdf">Click to download the PDF/>
</div>
EOT;
这是标题中的 HTML,其中登录框只有在刷新后才会显示:
<nav class = "memberHeaderArea" id="loggedIn">
Links Here
</nav>
<nav class = "memberHeaderArea" id ="loggedOut">
Removed links etc to save space
<input type="submit" name="loginButton" id="loginButton" value="Login!" onclick="validLogin(); return false;"/>
onclick调用ajax函数
function validLogin(){
//removed get username etc
var params = {username: username, password: password};
var url = "../loginProcessAjax.php";
$("#statusLogin").show();
$.ajax({
type: 'POST',
url: url,
data: params,
dataType: 'json',
beforeSend: function() {
document.getElementById("statusLogin").innerHTML= '<img src="../images/loginLoading.gif" /> checking...' ;
},
success: function(data) {
$("#statusLogin").hide();
if(data.success == true){
//$('#loggedIn').show();
$('#loginContent').slideToggle();
//$('#loggedOut').hide();
}else{
// alert("data.message... " + data.message);//undefined
$("#error").show().html(data.message);
}
},
error: function( error ) {
console.log(error);
}
});
}
再次感谢您,这个问题困扰了我很多年,尽管我尝试了很多次,但还是没有找到解决的方法
编辑:登录功能
public function loggedIn(){
return (isset($_SESSION['id'])) ? true : false;
}//end function
最佳答案
$(document).ready(function(){
function testLoggedIn(){
var loggedIn = <? php echo json_encode($general - > loggedIn()); ?> ;
if (loggedIn == true) {
$("#loggedIn").show();
} else {
$("#loggedOut").show();
}
}
setInterval(testLoggedIn(),1000);
});
像这样的东西应该可以工作。
编辑主要思想是您必须不断检查用户是否登录,而不仅仅是文档准备就绪。要实现这一点,您可以使用 setInterval
,它将根据参数中传递的间隔值继续执行该函数。这样,如果此脚本在您的所有页面上运行,则用户登录/注销时的所有页面都会自动更新,而不仅仅是他触发登录事件的页面。
关于php - jQuery .show() 在刷新之前不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17879393/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!