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 つのオプションすべてを次のページに送信する必要がありますが、1 つの変数に結合する必要があります。例:

<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"ませんでした。

どんな助けでも本当にありがたいです。

4

3 に答える 3

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']);
}
?>
于 2012-06-25T10:02:01.213 に答える
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>

したがって、フォームを送信すると、すべてのデータが送信されるわけではなく、最初のフォームのみが送信されます

于 2012-06-25T10:05:59.077 に答える
0

php の 3 つのフィルター オプションを変数に結合します。

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

IMOの混乱が少なくなります。

于 2012-06-25T10:06:41.763 に答える