将点击链接传递给会话数组?

时间:2016-03-24 22:16:28

标签: javascript php arrays ajax session

将点击的值传递给会话数组时遇到问题。 当我单击类" is-active"下面的链接时,基于我想要将数据传递给会话的活动链接。这个想法就像网站:newfuturescareernavigator.org/assessment/step-1/,它有三页没有表格。

<a href="#" data-chng="this is-active" data-id="190">
<a href="#" data-chng="this is-active" data-id="436">
<a href="#" data-chng="this is-active" data-id="430">

这是在我点击链接后,激活该类是活跃的。

<a href="#" data-chng="this is-active" data-id="190" class="is-active">
<a href="#" data-chng="this is-active" data-id="436" class="is-active">

提前致谢

2 个答案:

答案 0 :(得分:0)

我认为您最好只捕获客户端点击的链接,然后当用户进入“下一步”时,您可以相应地处理点击的链接。

如果您通过保存会话中单击的链接(单击时)完全设置,则必须使用ajax请求到服务器,因为会话变量是服务器端。您使用的是JQuery还是其他一些可以帮助解决此问题的库?

这是一个保存点击链接的快速示例(没有jquery)。显然,您需要编写一些内容以防止相同的链接在字符串中重复,并且可能需要删除链接。

    <body>
<input type="hidden" id="ClickedLinks" name="ClickedLinks" value="" />
<a href="#" onclick="clickMe(this)" id="link1">click me</a>
<a href="#" onclick="clickMe(this)" id="link2">click me</a>

<script>
function clickMe(obj) {
    clickedLinks = document.getElementById("ClickedLinks");
    if(clickedLinks.value == "") {
        clickedLinks.value = obj.id;
    } else {
        clickedLinks.value = clickedLinks.value +","+obj.id;
    }
    alert(clickedLinks.value);
}
</script>
</body>

编辑: 只需将上面的html包装在一个表单中,然后将该表单提交给下一步。进入下一步页面后,只需将ClickedLinks的值输入会话。

IE:

$_SESSION["ClickedLinks"] = $_POST["ClickedLinks"];

答案 1 :(得分:0)

如果您要发布到其他页面,则只需使用form,然后使用$_POST获得结果...

dotnetfiddle.net Example

HTML

 <label>
      <input type="checkbox" name='item1'>
      <span>Item 1</span>
    </label>
    <label>
      <input type="checkbox" name='item2'>
      <span>Item 1</span>
    </label>
    <label>
      <input type="checkbox" name='item3'>
      <span>Item 3</span>
    </label>

CSS

span {
  display: inline-block;
  background: #000;
  padding: 10px 20px;
  margin: 10px;
  color: #fff;
}

label input {
  /* display: none; */
}

input:checked ~ span {
  background: orange;
  color: #000;
}