どうすればこれを機能させることができるか頭を悩ませています。
DB から製品を一覧表示するページがあります。製品のリストの上には、1 ページあたりの製品数と並べ替え順序を選択する 2 つのドロップダウンがある GET フォームがあります。
リストの左側には、特定のカテゴリのすべてのサブカテゴリがチェックボックスで表示された POST フォームを含むサイドボックスがあり、ユーザーは検索を絞り込むことができます。
サイドボックスには多くのオプションが含まれているため、このフォームを POST にするのが最善のようです。そうしないと、10 個の category_id を含む URL になる可能性がありますが、GET フォームのドロップダウンのいずれかを更新するときに、一緒に送信される POST からの情報。
両方のビットをカバーする 1 つの大きな POST フォームを用意しようとしましたが、それらが異なる s にあるため、これは検証されません。
これを行う最良の方法は何ですか、私にはわかりません!
編集: ここでは、すべての要素を 1 つの POST フォームに入れようとする私の試みのフィドルがあります。異なる div のために検証されず、レイアウトを台無しにするため、それらを 1 つの DIV にラップすることはできません。サイドボックスの右側とフィルターバーの下にある製品のリスト - http://jsfiddle.net/FwQNn/
<div id="prodlistFilterBarWrapper">
<form name="filter" action="index.php?main_page=index&cPath=45" method="post">
<input type="hidden" name="main_page" value="index" />
<div id="filterbarwrapper"><span class="filterBarTextperpage"> per-page </span>
<div id="perpagecontainer">
<select name="perpage" id="perpage" onchange="this.form.submit()">
<option value="20">20</option>
<option value="40">40</option>
<option value="60">60</option>
<option value="80">80</option>
<option value="100">100</option>
</select>
</div>
<div id="sortordercontainer">
<select name="sortorder" id="sortorder" onchange="this.form.submit()">
<option value="bestselling">Best Selling</option>
<option value="pricelowhigh" selected="selected">Price low-high</option>
<option value="pricehighlow">Price high-low</option>
<option value="nameaz">Name a-z</option>
<option value="nameza">Name z-a</option>
</select>
</div>
</div>
</div>
<div style="clear:both"></div>
<div id="sidebox">
<div id="sideboxheaderbgtop"><span class="yellowText" style="margin-left:15px">Refine</span> <span class="whiteText">search</span></div>
<div id="sideboxPriceRange"></div>
<div id="sideboxCatsWithCheckBoxes">
<div class="sideboxHeading">Irish Gifts & Souvenirs</div>
<div class="sideboxDotSpacer"></div>
<div class='sideboxSubCat'><input type="checkbox" name="subcats[]" value="20" checked="checked" /> Decorations</div>
<div class='sideboxSubCat'><input type="checkbox" name="subcats[]" value="48" checked="checked" /> Keyrings</div>
<div class='sideboxSubCat'><input type="checkbox" name="subcats[]" value="25" checked="checked" /> Whiskey </div>
<div class='sideboxSubCat'><input type="checkbox" name="subcats[]" value="15" checked="checked" /> Novelties</div>
<div class='sideboxSubCat'><input type="checkbox" name="subcats[]" value="44" checked="checked" /> Titanic</div>
<div class='sideboxSubCat'><input type="checkbox" name="subcats[]" value="18" checked="checked" /> Glassware</div>
<div class='sideboxSubCat'><input type="checkbox" name="subcats[]" value="43" checked="checked" /> football</div>
<div class='sideboxSubCat'><input type="checkbox" name="subcats[]" value="8" checked="checked" /> Dolls</div>
<input type="image" src="update.png" alt="Update" title=" Update " id="sideboxUpdateButton" />
</form>
<div class="sideboxBottomSpace"></div>
</div>