我正在为一个项目进行导航。该项目基于Foundation Zurb 5+
,导航我正在使用Top Bar
。
在右边的ul列表中,如果用户没有登录,请使用Steam授权按钮。如果他已登录,那么我正在显示他的头像并制作包含某些字段的下拉菜单。
以下是代码:
<nav class="top-bar" data-topbar role="navigation">
<ul class="title-area">
<!-- ... -->
</ul>
<section class="top-bar-section">
<!-- Right Nav Section -->
<ul class="right">
<li class="steam-button has-dropdown">
<?php
if(!isset($_SESSION['steamid'])) {
steamlogin(); //login button
} else {
include ('steamauth/userInfo.php');
?>
<a href="#"><img src="<?php echo $steamprofile['avatarmedium'] ?>" width=40px height=40px /></a>
<ul class="dropdown">
<li><a href="#">Bla bla bla bla</a></li>
<li id="steam-logout-button"><?php logoutbutton() ?></li>
</ul>
<?php
}
?>
</li>
</ul>
<!-- Left Nav Section -->
<ul class="left">
<!-- .... -->
</ul>
</section>
</nav>
对于logoutbutton()
函数,我有:
function logoutbutton() {
echo "<form action=\"steamauth/logout.php\" method=\"post\"><input class=\"\" value=\"Logout\" type=\"submit\" /></form>"; //logout button
}
问题是我如何将logoutbutton()
的{{1}}转换为<form><input/></form>
,因为此输入会破坏我的顶部栏。
提前谢谢
答案 0 :(得分:2)
您可以尝试使用Ajax来调用您的注销脚本。
function logout(){
$.get("steamauth/logout.php");
return false;
}
$('#logout').click(function(){
logout();
})
<li><a id="logout">Logout</a><li>
答案 1 :(得分:2)
由于原始表单是POST,这对logout.php很重要,我建议使用$.post()
代替$.get()
。
将它放在<body>
:
<script>
$('#logout').click(function (event) {
event.preventDefault();
$.post("steamauth/logout.php");
});
</script>
将<?php logoutbutton() ?>
替换为
<a href="#" id="logout">
Logout
</a>
看看是否有效。