4

私が構築しているシステムの場合、最初のリストから(POSTリクエストで)入ってくるオプションと、2番目のリストから入ってくるオプションを確認する必要があります。

<form method="post">
    <select name="cars[]" multiple>
        <option selected>test</option>
        <option selected>test2</option>
        <option>test3</option>
        <option>test4</option>
    </select>
    <select name="cars[]" multiple>
        <option>hai</option>
        <option>hai2</option>
        <option selected>hai3</option>
        <option selected>hai4</option>
    </select>
    <input type="submit">
</form>

今、彼らはこのようにやって来ています:

Array
(
    [cars] => Array
        (
            [0] => test
            [1] => test2
            [2] => hai3
            [3] => hai4
        )
)

実際、「haiX」オプションとは別に「testX」オプションを取得したいと思います。今、私はどちらが最初のリストから来たのか、そしてどれが2番目のリストから来たのかわかりません。もちろん、2番目のリストの名前を最初のリストの名前とは異なるものにすることもできますが、このようにしたいのは当然のことです。

4

4 に答える 4

1

これは、選択リストごとに非表示のフィールド(入力)を使用して行うことができます。必要に応じて名前を付けることができます。

于 2013-03-25T19:58:27.057 に答える
1

次の形式で多次元配列を作成して、カテゴリを分割します。

<form method="post">
    <select name="cars[0][]" multiple>
        <option selected>test</option>
        <option selected>test2</option>
        <option>test3</option>
        <option>test4</option>
    </select>
    <select name="cars[1][]" multiple>
        <option>hai</option>
        <option>hai2</option>
        <option selected>hai3</option>
        <option selected>hai4</option>
    </select>
    <input type="submit">
</form>

そして、次のように読みます。最初のセットは$ _POST ['cars'] [0]、2番目のセットは$ _POST ['cars'][1]

于 2013-03-25T20:07:26.047 に答える
0

次のように取得できるはずです。

$_POST['cars'][0]「テスト」セットを指します

$_POST['cars'][1]「ハイ」セットを指します

于 2013-03-25T19:49:12.840 に答える
0

私はこれを作りました:

<?php

    if (isset($_POST['cars']))
    {
      $test = array();
      $hai = array();

      $lista = $_POST['cars'];
      foreach ($lista as $key ) {
          if (substr($key,0,1)=="t")
          {
            $test[] = $key;
          }
          else
          {
            $hai[] = $key;
          }
      }
    }
    var_dump($test);
    var_dump($hai);
    ?>


    <form method="post">
        <select name="cars[]" multiple>
            <option selected>test</option>
            <option selected>test2</option>
            <option>test3</option>
            <option>test4</option>
        </select>
        <select name="cars[]" multiple>
            <option>hai</option>
            <option>hai2</option>
            <option selected>hai3</option>
            <option selected>hai4</option>
        </select>
        <input type="submit">
    </form>

ローカルホストでテスト済み。

Saludos :)

于 2013-03-25T20:05:59.590 に答える