可能重复:
How to replace only one parameter or fast with Jquery on Jquery String
该网站的查询字符串为:
http://www.nonloso.html/?nome1=pollo&cognome1=chicken&nome2=a&cognome2=b&nome3=c&cognome3=d
这是我发送三个表单的网站,但现在我想更改我发送的第二个表单的名称。的(诺姆= A和cognome = b)的 除非数据与我读取网站的程序和受变量的影响。 我编辑字段(变量),但因为我要在网站上重写。 从name = a和surname = b,该网站将成为新参数。
http://www.nonloso.html/?nome1=pollo&cognome1=chicken&nome2=565655&cognome2=8765634&nome3=c&cognome3=d.
如何??? 如何仅通过更改感兴趣的值来编辑网站?
我再说一遍: 在我的网站
之前http://www.nonloso.html/?nome1=pollo&cognome1=chicken&nome2=a&cognome2=b&nome3=c&cognome3=d
使用脚本Javascrits或Jquery或ajax(可能??)是
http://www.nonloso.html/?nome1=pollo&cognome1=chicken&nome2=565655&cognome2=8765634&nome3=c&cognome3=d
有一个解决方案或示例?
答案 0 :(得分:1)
您可以使用
var change={
nome2:565655,
cognome2:8765634
}
if(window.location.search){
var que = window.location.search.substring(1).split("&"),
newArr=[];
for(var i=0;i<que.length;i++){
var qvar = que[i].split("=");
if(change[qvar[0]]){
qvar[1]=change[qvar[0]];
}
newArr.push(qvar.join('='));
}
window.location.search="?"+newArr.join('&');
}
修改强>
抱歉,上面的代码有效,但它是一个永恒的循环。然后,使用
var change={
nome2:565655,
cognome2:8765634
}
if(window.location.search){
var que = window.location.search.substring(1).split("&"),
newArr=[],
changeURL=false;
for(var i=0;i<que.length;i++){
var qvar = que[i].split("=");
if(change[qvar[0]]&&change[qvar[0]]!=qvar[1]){
console.log('URL changed because of '+change[qvar[0]]+' != '+qvar[1]);
qvar[1]=change[qvar[0]];
changeURL=true;
}
newArr.push(qvar.join('='));
}
if(changeURL){
window.location.search="?"+newArr.join('&');
}
}