我的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"
有任何帮助吗?
答案 0 :(得分:1)
您的HTML应该表明它正在提交数组:
<select name="tags[]" multiple="multiple">
(请注意[]
)
答案 1 :(得分: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>
答案 2 :(得分:0)
您的代码应如下所示:
<select name="tags[]" multiple="multiple">
<option selected="selected" value="hello">hello</option>
<option value="world">word</option>
</select>
请不要对每个选项使用selected =“selected”。 Selected =“selected”应仅用于一个选项,该选项默认显示!这非常重要!
答案 3 :(得分:0)
使用name="tags[]"
传递数组的方式
然后你可以使用
if(isset($_POST['tags'])){
foreach($_POST['tags'] AS $value){
echo $value;
}
}
在这种情况下,请务必在表单标记中设置method="post"
。
您可以毫无问题地使用selected="selected"