0

以下のフォームには、いくつかの製品を並べ替えるための 2 つのチェックボックスが含まれています。

<form id="FiltreExtraForm" action="" method="post" name="FiltreExtraForm">
    <input id="ProductsDeliveryPrice" type="checkbox" value="1" name="data[Products][delivery_price]"/>
    <input id="ProductsPicture" type="checkbox" value="1" name="data[Products][picture]"/>
</form>

POST の後、フィルタリングを行いますが、受信したパラメータを URL に追加したいとも考えています (例: /products/index/delivery_price:1/picture:0 )。これは可能ですか?どうやってやるの?

注: GET を使用してフォーム情報を送信したくありません。

4

3 に答える 3

1

Post/Redirect/Getを実行しようとしているようです。

CakePHP でこれを行う 2 つの例を次に示します。

POSTGETリクエストにリダイレクトする主な利点は次の 2 つです。

  1. ユーザーは「再送信しますか?」というメッセージを受け取りません。ダイアログが更新された場合
  2. 結果のページ/クエリをブックマークすることができます
于 2009-09-22T20:45:45.123 に答える
0

私があなたのことを正しく理解している場合 (そして、私が理解しているかどうかはわかりません)、フォームのアクションのクエリ文字列に追加の変数を簡単に渡すことができます。通常、これは次のようになります。

<form id="FiltreExtraForm" action="/products/index?delivery_price=1&picture=0" method="post" name="FiltreExtraForm">

Cake を使用すると、必要に応じて従来のクエリ文字列なしで同じことができるはずです (ただし、上記の従来の方法も機能します)。

<form id="FiltreExtraForm" action="/products/index/delivery_price:1/picture:0" method="post" name="FiltreExtraForm"> 

フォーム ヘルパーを確認するか、少なくともヘルパーを使用してアクション URI を作成することをお勧めしますが、これで目的が達成されるはずです。

于 2009-09-22T14:01:03.640 に答える
0

投稿先のアクションでは、GET URL を準備してから、この URL にリダイレクトするだけです。次に、その URL のアクションがフィルタリングを行います。

于 2009-09-22T13:38:50.673 に答える