我在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"answers"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>';
}
?>
在JQuery语句中,不要使用句点(.)作为类。
before : $('.btna').addClass('.btnh');
after : $('.btna').addClass('btnh');
祝你好运。
更改此项:
echo "<script type='text/javascript'> $('.btna').addClass('.btnh');
$('.btna').removeClass('.btna');</script>";
至
echo "<script type='text/javascript'> $('.btna').addClass('btnh');
$('.btna').removeClass('btna');</script>";
您不需要在类名之前添加点
<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>
尝试
<script>
$(document).ready(function(){
var sessvalue='<?php echo $_SESSION['mysession']; ?>';
if(sessvalue == true) {
$('.btna').addClass('btnh');
$('.btna').removeClass('btna');
}
});
</script>
您根本不需要使用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; ?>">
也许在运行脚本时DOM还没有准备好。等待就绪事件后再运行:
$( function() {
//your code here
} )