1

HTMLフォームには、その他の入力などとともに、次のものが<input type="test" name="foo"></input>あります。

<select name="tags" multiple="multiple">
  <option selected="selected" value="hello">hello</option>
  <option selected="selected" value="world">word</option>
</select>

問題は、私が使用しているときです

var_dump($_POST);

返されるタグは文字列で、次のように、select の最後の項目のみが含まれます。

string(5) "world"

何か助けはありますか?

4

4 に答える 4

1

HTML は、配列を送信していることを示す必要があります。

<select name="tags[]" multiple="multiple">

( に注意してください[])

于 2013-01-27T14:45:56.457 に答える
0

以下のコードを使用してみてください。名前は である必要がありますname="tags[]"。name="tags" のような名前の場合、1 つの値のみが渡されます。複数の値を渡したい場合は、配列として名前を付ける必要があります。

<select name="tags[]" multiple="multiple">
  <option selected="selected" value="hello">hello</option>
  <option selected="selected" value="world">word</option>
</select>
于 2013-01-27T14:52:19.823 に答える
0

コードは次のようになります。

<select name="tags[]" multiple="multiple">
   <option selected="selected" value="hello">hello</option>
   <option value="world">word</option>
</select>

また、すべてのオプションに selected="selected" を使用しないでください。Selected="selected" は、デフォルトで表示されるオプションの 1 つだけに使用する必要があります。これはとても重要です!

于 2013-01-27T15:00:29.840 に答える
0

use name="tags[]" that way an array is passed

then you can use

if(isset($_POST['tags'])){
    foreach($_POST['tags'] AS $value){
        echo $value;
    }
}

In this case be sure to set method="post" in your form tag.

You can use selected="selected" without a problem

于 2013-01-27T15:11:55.067 に答える