2012-10-24 41 views
0

我有一個noobie問題,讓我的頭腦如何才能完成這項工作。在同一頁上的GET表單和POST表單

我有一個頁面列出了我的數據庫中的產品。產品列表的上方是一個GET表單,其中有兩個下拉列表,用於選擇每頁有多少產品以及排序順序。

然後在我的列表左側,我有一個sidebox,其中包含一個POST表單,其中包含特定類別中的所有子類別,並帶有複選框,以便用戶可以優化搜索。

因爲sidebox包含很多選項,所以最好把這個表單作爲一個POST,否則我會以10個category_ids的可能的url結尾,但這意味着當我更新GET中的任何一個下拉列表時表單我需要從POST發送的信息一起發送。

我試過只是有一個大的POST形式覆蓋兩個位,但因爲它們在不同的s這不驗證。

這樣做的最好方法是什麼,我無法弄清楚!

編輯:這裏是我嘗試把所有元素放到一個POST表單中的一個小提琴,它不驗證,因爲不同的divs,我不能將它們包裝在一個DIV中,因爲它會攪亂我的佈局,即存在的意思是產品列表下filterbar sidebox的和正確的 - http://jsfiddle.net/FwQNn/

<div id="prodlistFilterBarWrapper"> 
     <form name="filter" action="index.php?main_page=index&amp;cPath=45" method="post"> 
      <input type="hidden" name="main_page" value="index" /> 
      <div id="filterbarwrapper"><span class="filterBarTextperpage">&nbsp;per-page&nbsp;</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 &amp; Souvenirs</div> 
     <div class="sideboxDotSpacer"></div> 
     <div class='sideboxSubCat'><input type="checkbox" name="subcats[]" value="20" checked="checked" />&nbsp;&nbsp;&nbsp;Decorations</div> 
     <div class='sideboxSubCat'><input type="checkbox" name="subcats[]" value="48" checked="checked" />&nbsp;&nbsp;&nbsp;Keyrings</div> 
     <div class='sideboxSubCat'><input type="checkbox" name="subcats[]" value="25" checked="checked" />&nbsp;&nbsp;&nbsp;Whiskey </div> 
     <div class='sideboxSubCat'><input type="checkbox" name="subcats[]" value="15" checked="checked" />&nbsp;&nbsp;&nbsp;Novelties</div> 
     <div class='sideboxSubCat'><input type="checkbox" name="subcats[]" value="44" checked="checked" />&nbsp;&nbsp;&nbsp;Titanic</div> 
     <div class='sideboxSubCat'><input type="checkbox" name="subcats[]" value="18" checked="checked" />&nbsp;&nbsp;&nbsp;Glassware</div> 
     <div class='sideboxSubCat'><input type="checkbox" name="subcats[]" value="43" checked="checked" />&nbsp;&nbsp;&nbsp;football</div> 
     <div class='sideboxSubCat'><input type="checkbox" name="subcats[]" value="8" checked="checked" />&nbsp;&nbsp;&nbsp;Dolls</div> 
     <input type="image" src="update.png" alt="Update" title=" Update " id="sideboxUpdateButton" /> 
     </form> 
     <div class="sideboxBottomSpace"></div> 
    </div> 
+2

如果你需要這兩種形式的信息,那麼它們應該只是一種形式。 – thatidiotguy

+0

你能代碼嗎?這將有助於理解你的問題。 –

+0

爲什麼在使用一種表單時無法驗證?他們在不同的框架? – Stefan

回答

0

我會做的是 1.更改下拉得到,如果你要沿着左側數據傳遞的職位 2.當您從左側選擇不同的類別時,在下拉窗體中包含隱藏字段。這可以通過簡單的javascript

相關問題