需要帮助将URL参数传递给变量

时间:2010-10-22 13:35:32

标签: javascript

我需要帮助我下面的一些代码。我是javascript的新手,所以我希望有人可以帮助我

我使用下面的函数从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给了我John Doe作为输出而不是a1,因为我现在有

我希望这不是一个令人困惑的问题

提前致谢

〜AJI

1 个答案:

答案 0 :(得分:0)

最简单的解决方案是将值存储在辅助数组中而不是单个变量中。 E.g。

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));