2

チェックボックスのあるページがあるので、チェックすると、GETを介して値とパラメーターが送信されます。これは、デフォルトでは次のようになります。

2つの製品SKUを渡す

http://example.com/product-comparisons/?product-skus=1&product-skus=2

1つの製品SKUのみを渡す:

http://example.com/product-comparisons/?product-skus=1

またはこれ:

http://example.com/product-comparisons/?product-skus=2

私が達成したいのは、次のような2つ以上の製品を渡す場合にのみGETパラメーターを変更することです。

http://example.com/product-comparisons/?product-skus=1&product-skus=2

これに:

http://example.com/product-comparisons/?product-skus=1,2

また、チェック済みの商品がなく、フォームが送信されると、URLが次のように変更されます。

http://example.com/product-comparisons/

これに:

http://example.com/product-comparisons/?product-skus=0

つまり、product-skusクエリ文字列変数に0を追加します。

送信ボタンがクリックされたときに実行されるjQueryコードがすでにあります。

jQuery( document ).ready( function( $ ) {
$('#myform').submit( function() {

    //change the GET URL parameters


 });

});

しかし、私は残りのプロセスで立ち往生しています。フォームを送信するときにこれを実行したいと思います。誰かが始めるためのサンプルコードを提供してくれたら嬉しいです。どうもありがとう。

4

1 に答える 1

1

私はあなたの質問に直接答えない提案を提供するつもりですが、それはおそらくあなたの問題を解決し、その過程であなたに多くの仕事と頭痛を救うかもしれません。

サーバー側アプリケーションは、多くが渡されたときに値の1つのみを受け取るため、GETパラメーターを変更し、問題を解決するためにコンマ区切りのパラメーターを分割したいとします。

より簡単な代替手段があります。

nameチェックボックス属性をに変更するproduct_skus[]と、サーバー側アプリで読み取ると、配列として取得されます。

例えば:

http://example.com/product-comparisons/?product-skus[]=1&product-skus[]=2

これをPHPで読んでいる場合:

print_r($_GET['product_skus']);`

あなたに与えるでしょう:

Array(0 => '1', 1 => '2')

それがあなたを助けることを願っています!

(追記-Pythonのような他のサーバー側言語でもこれを行うことができます。他のほとんどの現代言語もそうです。Javaと.NETは[]構文なしでそれを行うことができるので、きっとあなたはそれらを使用しないでください。)

于 2012-12-10T06:14:00.327 に答える