如何用javascript替换Jquery字符串上的新参数

时间:2012-09-01 19:50:49

标签: javascript jquery html ajax html5

  

可能重复:
  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

有一个解决方案或示例

1 个答案:

答案 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('&');
    }
}