0

可能重复:
如何在 Jquery String 上只替换一个参数或用 Jquery 快速替换

该网站的查询字符串是:

http://www.nonloso.html/?nome1=pollo&cognome1=chicken&nome2=a&cognome2=b&nome3=c&cognome3=d

这是我发送了三个表单的站点,但现在我想更改我发送的第二个表单的名称。(nome=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

有一个解决方案或示例吗?

4

1 回答 1

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('&');
    }
}
于 2012-09-01T20:48:05.193 回答