2012-06-25 27 views
0

我有三個不同的下拉菜單形式,它看起來像這樣:形成3個下拉菜單

<FORM METHOD="LINK" ACTION="/search.php" method="get"> 
    <select style="width:55px;" name="filter_name"> 
    <option> </option> 
    <option>R13</option> 
    <option>R14</option> 
    <option>R15</option> 
    <option>R16</option> 
    <option>R17</option> 
</select></td></tr> 
    <tr><td width="40%">Plotis:</td><td colspan="2"><select style="width:55px;" name=""> 
    <option> </option> 
    <option>165</option> 
    <option>175</option> 
    <option>185</option> 
    <option>195</option> 
    <option>205</option> 
    <option>215</option> 
    <option>225</option> 
</select></td></tr> 
    <tr><td width="40%">Auk&#353;tis:</td><td colspan="2"><select style="width:55px;" name=""> 
    <option> </option> 
    <option>75</option> 
    <option>70</option> 
    <option>65</option> 
    <option>60</option> 
    <option>55</option> 
    <option>50</option> 
    <option>45</option> 
</select></td></tr> 
    <tr><td colspan="2" align="center"> 
<INPUT style="width:80px; height:25px; font-size:14px; font-weight:600; cursor:pointer;" TYPE="Submit" VALUE="Ie&#353;koti"> 
</FORM> 

基本上,我需要在所有3個選項發送到下一個頁面,但連接成一個變量.. 例如:如果我選擇

<option>165</option>+<option>70</option>+<option>R13</option> 

它應該被髮送到index.php這樣的:filter_name=165/70/R13

而且,如何發送這一切並非僅僅的index.php,但到

index.php?route=product/search&FILTER_NAME 

更改ACTION="/index.php"ACTION="/index.php?route=product/search"不能正常工作。

任何幫助將非常感激。

+0

你就不能使目標頁面接受不同的表單字段,並建立在你的PHP代碼中的'filter_name'? – millimoose

+0

已經嘗試過,:( – DadaB

+0

旁白:數值Unicode在HTML轉義是可憎的,你應該考慮在PHP搞清楚的字符集設置/服務器 – millimoose

回答

1

你可以嘗試這樣的事情。但是,您應該檢查HTML中的錯誤。你的表格中有一個嵌套的表格。

<?php 
if (!isset($_POST['send'])) { 
?> 
<form method="post" action=""> 
    <select style="width:55px;" name="select_one"> 
     <option> </option> 
     <option value="R13">R13</option> 
     <option value="R14">R14</option> 
     <option value="R15">R15</option> 
     <option value="R16">R16</option> 
     <option value="R17">R17</option> 
    </select> 

    <select style="width:55px;" name="select_two"> 
     <option></option> 
     <option value="165">165</option> 
     <option value="175">175</option> 
     <option value="185">185</option> 
     <option value="195">195</option> 
     <option value="205">205</option> 
     <option value="215">215</option> 
     <option value="225">225</option> 
    </select> 

    <select style="width:55px;" name="select_three"> 
     <option></option> 
     <option value="75">75</option> 
     <option value="70">70</option> 
     <option value="65">65</option> 
     <option value="60">60</option> 
     <option value="55">55</option> 
     <option value="50">50</option> 
     <option value="45">45</option> 
    </select> 

    <input style="width:80px; height:25px; font-size:14px; font-weight:600; cursor:pointer;" type="submit" value="send" value="Ie&#353;koti" /> 
</form> 
<?php 
} 
else { 
    header('Location: index.php?route=product/search&filter_name='.$_POST['select_two'].'/'.$_POST['select_three'].'/'.$_POST['select_one']); 
} 
?> 
+0

看起來像是接近我所需要的,但點擊後發送,即時通訊被重定向。到maindomainname.com/index.php?select_one=R17&select_two=175&select_three=60 順便說一句,我有一些PHP/HTML代碼abeve這一項,如果改變任何東西 – DadaB

+0

更新:我已經刪除了所有表錯誤,併發布你確切的代碼給我的,現在打發送,被重定向IM沒有結果maindomainname.com/index.php?route=common/home後,也許我應該改變,而不是POST爲GET? – DadaB

+0

我已經改變!isset($ _ POST [」發送'])到!isset($ _ POST ['select_one']),它的作用就像是一個魅力,非常感謝! – DadaB

0

問題可能出現在無效標記中。您正在使用表格佈局,並且窗體在單元格之間分割。這是無效的,因此瀏覽器可能會以意想不到的方式呈現您的佈局。

你可以期待這樣的:

<table> 
<tr> 
<td> 
    <form> 
     <input> 
</td> 
<td> 
     <input> 
    </form> 
</td> 
</tr> 
<table> 

但瀏覽器可以使您的標記,因爲這(2型):

<table> 
<tr> 
<td> 
    <form> 
     <input> 
    </form> 
</td> 
<td> 
    <form> 
     <input> 
    </form> 
</td> 
</tr> 
<table> 

因此,當您提交表單不是所有的數據被髮送,只會造成第一種形式被提交

+0

我已經刪除了所有表格標記,並且發佈了代碼t爲OptimusCrime答案,問題是,點擊後後,即時被重定向到maindomainname.com(又名什麼也沒有發生),我想被重定向到maindomainname.com/index.php?route=product/search&filter_name=JOINED選擇選項 – DadaB

+0

使用多個方法屬性有效嗎? – user907860

0

加入在PHP 3個過濾器選項到變量中。

$options = $_POST['f1'] . '/' . $_POST['f2'] . '/' . $_POST['f3']; 

它會更少混淆國際海事組織。