刷新浏览器/链接,然后点击"点击" JavaScript的函数

时间:2016-04-11 19:08:10

标签: javascript jquery

我已经通过普通的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

1 个答案:

答案 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 */ });