簡體   English   中英

將URL參數傳遞給Colorbox

[英]Passing a URL Parameter to a Colorbox

我有一個簡單的投票系統,帶有一個顏色框作為投票表。 當某人點擊投票時,便需要他們投票。html?id = X(x是數字)。 投票.html將顯示在顏色框中。 在顏色框中,我獲得了URL參數,但沒有找到id作為參數。 任何想法如何將id傳遞到colorbox? 這是代碼...

Javascript:

<script>
    function voteForShirt(shirtId) {
        alert("vote.htm?="+shirtId);
        $('#').colorbox();
        $.colorbox({href:"vote.html?id="+shirtId});
    }
</script>

以下是出現在顏色框中的來自表決.html的Javascript

<script type="text/javascript">
    function getUrlVars() {
    var vars = {};
    var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
    vars[key] = value;
    });
    return vars;
    }

    var shirtId = getUrlVars()["id"];
    alert(shirtId);
    document.getElementById('title').innerHTML = "<h1>You're Voting for Shirt " + shirtId + "</h1>";    
</script>

在這里,當我警告shirtId時,我將無法定義。

我不知道您的regexp有什么問題,但是請嘗試使用此函數來解析ID。

<script type="text/javascript">
function getParameterByName(name)
{
  name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
  var regexS = "[\\?&]" + name + "=([^&#]*)";
  var regex = new RegExp(regexS);
  var results = regex.exec(window.location.search);
  if(results == null)
    return "";
  else
    return decodeURIComponent(results[1].replace(/\+/g, " "));
 }
</script>

資料來源: Artem Barger

它看起來像你應該使用iframe,而不是AJAX的。 使用ajax時不會創建新的窗口對象,因此window.location指的是當前位置(而不是vote.html)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM