在将URL参数传递给变量时需要帮助
问题描述:
我需要下面的一些代码帮助。我在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
答
最简单的解决方案是将值存储在辅助数组中,而不是单个变量。例如。
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));
太好了,谢谢DVK ..第二个选项按我想要的方式工作 – aji 2010-10-22 14:04:21
@aji - 不客气。随意投票回答以及:) – DVK 2010-10-22 14:19:55