2010-10-22 73 views
1

我需要下面的一些代碼幫助。我在JavaScript中的新手,所以我希望有人能幫助我在這裏在將URL參數傳遞給變量時需要幫助

我用下面的函數從URL抓取參數:

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

現在的問題是,我需要設置的參數到變量,所以我可以使用該變量到別的東西。

例如我有以下形式:

<form method="get" action="#" name="dealer"> 
    insert dealer code<br /> 
    <input type="text" name="dcode" /> 
    <input type="submit" value="submit" /> 
</form> 

所以每當我按下提交按鈕,URL將有參數。我想用這個參數作爲變量。這裏是輸出代碼

var dealer_param = gup('dcode'); 
document.write(dealer_param); 

再比如我有定義變量:

var a1 = "John Doe" 
var a2 = "Jane Doe" 

現在我想請在表格框A1,當我按下提交我想的JavaScript給我李四爲輸出而不是a1作爲我目前有

我希望這不是太大的混亂問題

在此先感謝

〜aji

回答

0

最簡單的解決方案是將值存儲在輔助數組中,而不是單個變量。例如。

var arr; 
arr['a1'] = "John Doe"; 
arr['a2'] = "Jane Doe"; 

// ... 

var dealer_param = gup('dcode'); 
document.write(arr[dealer_param]); 

第二種方法是使用eval - 我個人會建議不要爲各種原因,包括安全問題。

var a1 = "John Doe" 
var a2 = "Jane Doe" 

var dealer_param = gup('dcode'); 
document.write(eval(dealer_param)); 
+0

太好了,謝謝DVK ..第二個選項按我想要的方式工作 – aji 2010-10-22 14:04:21

+0

@aji - 不客氣。隨意投票回答以及:) – DVK 2010-10-22 14:19:55

相關問題