2010-10-22 46 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

相关问题