我有一个noobie问题让我的头脑如何能够完成这项工作。
我有一个页面列出了我的数据库中的产品。产品列表上方是一个GET表单,其中包含两个下拉菜单,用于选择每页产品数量和排序顺序。
然后在我的商家信息的左侧,我有一个包含POST表单的sidebox,其中包含特定类别中的所有子类别以及复选框,以便用户可以优化他们的搜索。
因为sidebox包含很多选项,所以最好把这个表单作为POST,否则我最终会得到包含10个category_ids的潜在url,但这意味着当我更新GET表单中的任何一个下拉列表时我需要发送POST的信息。
我尝试过只有一个大的POST表单覆盖两个位,但因为它们处于不同的状态,所以这不会验证。
这是最好的方式,我无法弄明白!
编辑:这是我尝试将所有元素放入一个POST表单的小提琴,它不会因为不同的div而验证,我无法将它们包装在一个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>
答案 0 :(得分:0)
我会做的是 1.如果必须传递左侧数据,请将下拉列表更改为帖子 2.在下拉列表中包含隐藏字段,当您从左侧选择不同的类别时,这些字段会被填充。这可以通过简单的javascript来轻松完成