2014-03-07 50 views
1

我使用的代碼波紋管的變量發送到另一個頁面,但我得到「未定義」獲取HTML鏈接變種

<script type="text/javascript"> 
$(document).ready(function() { 

$('.letterz').click(function() { 
var selectedletter = $(this).attr("id"); 
$("#celebdetails").load("reveal.html?surname="+selectedletter, function() { 
$('.myloader').fadeOut("fast"); 
$('#celebdetails').fadeIn("slow"); 
}); 
}); 

}); 
</script> 

我的HTML

<div class="myloader"></div> 

<div id="#celebdetails" style="display:none;"></div> 

<div class="letterz" id="A"></div> 
<div class="letterz" id="B"></div> 
<div class="letterz" id="C"></div> 
<div class="letterz" id="D"></div> 

而在第二頁我正在發送參數姓氏我使用下面的代碼來獲取它:

<script type="text/javascript"> 
$(document).ready(function() { 

function getUrlVars() 
{ 
    var vars = [], hash; 
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'); 
    for(var i = 0; i < hashes.length; i++) 
    { 
     hash = hashes[i].split('='); 
     vars.push(hash[0]); 
     vars[hash[0]] = hash[1]; 
    } 
    return vars; 
} 

var me = getUrlVars()["surname"]; 
alert(me); 

}); 
</script> 

提前KS

+0

什麼給你: '控制檯.log(vars);'??? –

+0

我可能錯了,但getUrlVars函數在調用頁面(第一頁)中加載後調用,這就是爲什麼'getUrlVars()[「surname」]'未定義的原因 –

+0

@ A.Wolff給了我:Uncaught ReferenceError :vars沒有定義 –

回答

1

嘗試用此:

function geturlvar() { 
var vars = {}; 
var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) { 
    vars[key] = value; 
}); 
return vars; 
} 

這樣稱呼它:

var as = geturlvar()['urlvar']; 

所以網址:http://stackoverflow.com?result=202

則:var myvar = geturlvar()['result'];

myvar contains : 202; 
+0

我仍然越來越undefined ... :-( –

+0

所以檢查你的URL是否包含你傳遞的變量?@lrene –

+0

如果我把一個警告,當我按下一封信時,它出現的ID ..這意味着可點擊的ID與ID獲取ID var ..第二頁不抓住它.. –