0

重複の可能性:
Jquery 文字列で Jquery を使用して 1 つのパラメーターのみまたは高速に置き換える方法

クエリ文字列を持つサイトは次のとおりです。

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

これは私が 3 つのフォームを送信したサイトですが、送信した 2 番目のフォームの名前を変更したいと考えています。(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

1つの解決策または例がありますか?

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 に答える