Javascript Js获取URL并根据选择表单更改其参数

Javascript Js获取URL并根据选择表单更改其参数,javascript,jquery,Javascript,Jquery,我有以下表单和Js代码,可以从“logodiv”div获取当前url,并将用户提交的数据表单附加到该div内的url中: <select id="type1form" onchange="myFunction()"> <option value="000">000</option> <option value="111">111</option> <option value="222">222</option&g

我有以下表单和Js代码,可以从“logodiv”div获取当前url,并将用户提交的数据表单附加到该div内的url中:

<select id="type1form" onchange="myFunction()">
 <option value="000">000</option>
 <option value="111">111</option>
 <option value="222">222</option>
</select>

<select id="type2form" onchange="myFunction()">
 <option value="AAA">AAA</option>
 <option value="BBB">BBB</option>
 <option value="CCC">CCC</option>
</select>

<div id="logodiv">
    <a href="http://test.com/redir.php?"><img src="logo1.jpg"></a>
</div>
<div id="logodiv">
    <a href="http://test.com/redir.php?"><img src="logo2.jpg"></a>
</div>


<script>
function myFunction() {

  var mylinks = [];
    var mylogo = document.querySelectorAll("#logodiv");
    for(var j = 0; j < mylogo.length; j++) {
        mylinks[j] = mylogo[j].childNodes[1].href;
    }

  var type1 = document.getElementById("type1form").value;
  var type2 = document.getElementById("type2form").value;

  for(var i = 0; i < mylogo.length; i++) {
    mylogo[i].childNodes[1].href = mylinks[i] + "&type1=" + type1form + "&type2=" + type2form;
   }

}
</script>
如果单击“选择字段”两次或两次以上,则url将变为:

test.com/redir.php?type1=000&type2=AAA
test.com/redir.php?type1=000&type2=AAA&type1=111&type2=BBB
我希望url只包含用户提交的最后一个type1和type2参数,而不是无限地在url末尾追加参数


你能帮我吗?

做了一些修改使其正常工作,你可以在这里检查它们:

首先,id应该是唯一的,所以logodiv现在是一个类

其次,您的代码中存在一些已修复的错误

我的解决方法是每次(在“?”之前的所有内容)都使用url基来只附加一次参数

代码:

<select id="type1" onchange="myFunction()">
 <option value="000">000</option>
 <option value="111">111</option>
 <option value="222">222</option>
</select>

<select id="type2" onchange="myFunction()">
 <option value="AAA">AAA</option>
 <option value="BBB">BBB</option>
 <option value="CCC">CCC</option>
</select>

<div class="logodiv">
    <a href="http://test.com/redir.php?"><img src="logo1.jpg"></a>
</div>
<div class="logodiv">
    <a href="http://test.com/redir.php?"><img src="logo2.jpg"></a>
</div>
<script>
function myFunction() {

  var mylinks = [];
    var mylogo = document.querySelectorAll(".logodiv");
    for(var j = 0; j < mylogo.length; j++) {
        mylinks[j] = mylogo[j].childNodes[1].href;
    }

  var type1 = document.getElementById("type1").value;
  var type2 = document.getElementById("type2").value;


  for(var i = 0; i < mylogo.length; i++) {
    mylogo[i].childNodes[1].href = mylinks[i].substring(0,  mylinks[i].indexOf('?') + 1) + "&type1=" + type1 + "&type2=" + type2;
   }

}
</script>

000
111
222
AAA
BBB
CCC
函数myFunction(){
var mylinks=[];
var mylogo=document.querySelectorAll(“.logodiv”);
对于(var j=0;j