我在PHP代码中运行Javascript / Jquery。它应该做的是当有人进入页面时,会话被检查(如果有会话,他们已经登录),如果有会话,它会通过更改类将登录按钮变为注销按钮。我已经读过你需要一个代表团,但我不确定要检查一个会话。这是会话检查/运行Jquery脚本:
<?php
if (isset($_SESSION['mysession']) && $_SESSION['mysession'] == true) {
echo "<script type='text/javascript'> $('.btna').addClass('.btnh');
$('.btna').removeClass('.btna');</script>";
}
?>
<!DOCTYPE html>
//html code
“btna”和“btnf”类是按钮。 “btna”是登录,“btnf”是登出。 以下是注销按钮的代码:
<!DOCTYPE html>
<head>
<link href="css/style.css" rel="stylesheet">
</head>
<body>
<button type="submit" name="submit" class="btnh" placeholder="Logout">
Logout
</button>
</body>
我还没有将我的按钮链接到退出表单。 问题是即使设置了我的会话,登录按钮也不会将类更改为注销按钮。 那么简单,我将在JQuery中使用哪个委托来检查会话,和/或我的JQuery代码是否正确(以分号,撇号等表示)?谢谢
编辑:不幸的是,到目前为止,似乎到目前为止这些答案都没有成功 - 但是非常感谢你们的帮助。但是,我认为问题出在我所要求的其他地方。它必须在注销按钮的HTML代码中,或者在CSS中的某个位置。我会继续寻找,但如果你们有建议,请发布。
编辑2:如果它有任何区别,我的注销按钮在另一页上,但与CSS链接。这是我制作的一些新的PHP代码,任何人都可以看到它为什么不起作用(它根本没有显示)。这是在我主页的正文部分。
<?php
if (isset($_SESSION['flinders']) && $_SESSION['flinders'] == true) {
echo '<button type="submit" name="submit" class="btna" placeholder="Login">';
echo 'Login';
echo '</button>';
}
else{
echo '<button type="submit" name="submit" class="btnh" placeholder="Logout">';
echo 'Logout';
echo '</button>';
}
?>
答案 0 :(得分:5)
在JQuery语句中,不要在类中使用点(。)。
before : $('.btna').addClass('.btnh');
after : $('.btna').addClass('btnh');
祝你好运。
答案 1 :(得分:0)
改变这个:
echo "<script type='text/javascript'> $('.btna').addClass('.btnh');
$('.btna').removeClass('.btna');</script>";
要
echo "<script type='text/javascript'> $('.btna').addClass('btnh');
$('.btna').removeClass('btna');</script>";
您无需在班级名称
之前添加点答案 2 :(得分:0)
<script type='text/javascript'>
$('.btna').addClass('btnh');
$('.btna').removeClass('btna');
</script>
这应该有效。如果没有,请使用它来确保DOM已准备就绪:
<script type='text/javascript'>
$(document).ready(function ()
{
$('.btna').addClass('btnh');
$('.btna').removeClass('btna');
}
</script>
答案 3 :(得分:0)
试
Template.PanelLayout.onRendered(function() {
$(".button-collapse").sideNav();
$('.collapsible').collapsible();
});
答案 4 :(得分:0)
试试这个......:D
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<button type="submit" id="myChangeBtn" name="submit" class="btnh" placeholder="Logout">
Logout
</button>
</body>
</html>
<?php
if (isset($_SESSION['mysession']) && $_SESSION['mysession'] == true) {
echo "<script type='text/javascript'>
if($('#myChangeBtn').hasClass('btna')){ $('#myChangeBtn').removeClass('btna');}
if(!$('#myChangeBtn').hasClass('btnh')){ $('#myChangeBtn').addClass('btnh');}
</script>";
}
?>
&#13;
答案 5 :(得分:0)
根本不需要使用JavaScript。只需添加一个条件来使用PHP设置类。
<?php
$btnClass = (isset($_SESSION['mysession']) && $_SESSION['mysession'] == true)
? 'btnh' // value if above condition evaluates true
: 'btna'; // value if above condition evaluates false
?>
<button type="submit" name="submit" class="<?php echo $btnClass; ?>">
答案 6 :(得分:-1)
也许,当您运行脚本时,DOM还没有准备好。在运行之前等待就绪事件:
$( function() {
//your code here
} )