我有以下表格和Js代码来获取来自" logodiv"的当前网址。 div并将用户提交的数据表单附加到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都不会更改,但它会附加表单数据。所以相反url变成了:
test.com/redir.php?type1=000&type2=AAA
如果单击两次或更多选择字段,则网址将变为:
test.com/redir.php?type1=000&type2=AAA&type1=111&type2=BBB
我想要url becames只有用户提交的最后一个type1和type2参数,而不是无限地在url末尾附加参数。
你能帮助我吗?
答案 0 :(得分:1)
进行了一些修改以使其有效,您可以在此处查看它们: https://jsfiddle.net/x07cqd3z/1/
首先,id应该是唯一的,所以logodiv现在是一个类。
其次,您的代码中存在一些已修复的错误。
我的工作是每次都使用url base(“?”之前的所有内容)仅将参数附加一次。
代码:
getParentFile()