【发布时间】:2014-02-17 10:29:05
【问题描述】:
我正在尝试获取一个注销按钮,该按钮首先取消设置会话,然后关闭实际选项卡。
到目前为止,我只得到了会话销毁的部分,我不知道如何完成 Tab 关闭。
在会话被销毁后,我尝试使用 setIntervals 回显该功能,但我没有设法完成。有人知道一些tips吗?谢谢!
编辑:所有代码都在同一页面上
这是我的代码:
[HTML]
<input type="hidden" name="vLogout" value="false">
<input type="button" value="Logout" name="Logging out" onClick="logout(this.form)" style="background-color:#cc0000;color:#ffffff">
[PHP]
这是<?php之后的第一行代码
if($_REQUEST["vLogout"])
{
session_start();
session_unset();
session_destroy();
echo "<script>closeTab();</script>";
}
[Javascript]
function logout(f)
{
var confirmed = confirm("Are you sure you want to logout?");
if (confirmed){
f.method="post";
f.vLogout.value = true;
f.submit();
}
}
function closeTab(){
confirm("test");
//window.open(document.URL,'_self','resizable=no,top=-245,width=250,height=250,scrollbars=no');
//window.close();
}
【问题讨论】:
-
因为在任何输出发送到浏览器(如格式良好的 HTML)后,您无法调用
session_start()- 您应该永远输出这样的 Javascript 代码,因为它不可能是它应该在代码中的位置。如果它们都在同一页面中,请设置一个变量标志,例如。$closeWindow = true然后在您生成正确的页面标记结构后检查它,然后您可以调用您的函数。 -
尝试将
onClick="logout(this.form)"改为onClick="logout(document.form)" -
@scrowler 非常感谢,这就是我需要的提示!让它像我想要的那样工作。 :)
标签: javascript php html function hidden-field