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);

返回的标签是一个字符串,它只包含选择中的最后一项,如下所示:

string(5) "world"

有什么帮助吗?

4

4 回答 4

1

您的 HTML 应该表明它正在提交一个数组:

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

(注意[]

于 2013-01-27T14:45:56.457 回答
0

尝试使用下面的代码。名字应该是name="tags[]". 如果你的名字就像 name="tags" 它只会传递一个值,如果你想传递多个值,你应该将它命名为一个数组。

<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" 只能用于一个选项,默认显示的选项!这个非常重要!

于 2013-01-27T15:00:29.840 回答
0

使用name="tags[]"这种方式传递数组

那么你可以使用

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

在这种情况下,请务必method="post"在您的表单标签中设置。

您可以selected="selected"毫无问题地使用

于 2013-01-27T15:11:55.067 回答