我已经通过普通的html创建了一个列表,其中包含指向"详细信息"页。网址:index.php?page=userDetails&usersId=10
。如果我为我的挑战找到正确的解决方案,可能会改变这种情况:)
在"详细信息页面"我做了一个下拉列表,基本上将(GET
)一个id插入PHP,PHP生成内容。
下拉列表如下所示
<select name="users" onchange="showUser(this.value)" class="selectpicker">
<option data-tokens="10" value="10">user-10</option>
<option data-tokens="41" value="41">user-41</option>
<option data-tokens="9" value="9">user-9</option>
<option data-tokens="8" value="8">User-8</option>
</select>
<!-- This is where PHP-content will be printed..... -->
<div id=\"txtHint\"><b>Person info will be listed here...</b></div>
Javascript看起来像这样(函数showUser)
function showUser(
{
if(str == "")
{
document.getElementById("txtHint").innerHTML = "";
return;
}
else
{
if(window.XMLHttpRequest)
{
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
}
else
{
// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function()
{
if(xmlhttp.readyState == 4 && xmlhttp.status == 200)
{
document.getElementById("txtHint").innerHTML = xmlhttp.responseText;
}
};
xmlhttp.open("GET","logic/do.php?action=ajaxReceive&input="+str,true);
xmlhttp.send();
}
}
Id(来自数据库)收到$_GET[input]
,一切正常,我可以打印ID。
我的问题是两件事:
1)当我刷新浏览器时,不存储ID。我想这可以通过cookie或会话来完成,但我如何保留ID和&#34;插入&#34;它进入功能所以我留在用户8,10,14或者我正在看的用户身上?
2)同样的问题是我从一个页面链接到另一个页面的实际链接。这是必要的,因为我不是超级专家所以我不愿意将所有内容都作为纯javascript / jQuery运行。我在PHP方面做得最好,所以有时我需要一点呼吸:)
我希望你理解我可能相当基本的问题...... 我期待着有关我的小挑战的一些意见:)
干杯Nikolaj
答案 0 :(得分:0)
您可以在卸载页面之前使用window.onbeforeunload
执行脚本/函数。您可以将userID发送到PHP脚本,并让它存储用户ID。
<强> HTML 强>
<element onbeforeunload="yourFunction()">
参考:http://www.w3schools.com/tags/ev_onbeforeunload.asp
<强>的Javascript 强>
window.onbeforeunload = function() { /* Your function send to e.g. PHP here */ }
<强>的jQuery 强>
$(window).on('beforeunload', function(){ /* Your function send to e.g. PHP here */ });