我正在尝试使用select
属性发布一个简单的multiple
:
<select name="cboCategory[]" id="cboCategory" class="box" multiple="multiple" size="5">
<option value="18">Cookies</option>
<option value="19">Cookie Bouquets</option>
<option value="20">Cookie Platters</option>
<option value="21">Cookie Pizzas</option>
<option value="22">Cakes</option>
<option value="23">Cupcakes</option>
<option value="25">Gifts - Corporate</option>
<option value="26">Gifts - Misc.</option>
<option value="27">• Birthday</option>
<option value="28">• Baby</option>
<option value="29">• Get Well</option>
<option value="30">• Congratulations</option>
<option value="31">• Thank You</option>
<option value="35">• Holiday</option>
<option value="41">Gifts</option>
<option value="42"> Corporate</option>
<option value="43"> Miscellaneous</option>
</select>
在PHP方面,我只是想打印出选定的值:
var_dump( $_POST['cboCategory'] ); exit;
当我以这种方式设置时,输出始终为string(0) ""
。它只是不会传递任何选定的选项。
但是,如果我从选择名称中删除括号,将其更改为name="cboCategory"
它可以正常工作,只返回一个选定的值。
其他人可以弄清楚为什么我不能让这个工作?我觉得我必须遗漏一些明显的东西。
编辑:以下是整个$_POST
变量:
array(15) { ["cboCategory"]=> string(0) "" ["txtName"]=> string(28) "50th Birthday Cookie Bouquet" ["mtxDescription"]=> string(266) "Half a decade is a big deal! Celebrate it with one of our cookie bouquets. They are overflowing with our delicious homemade large cookies on a stick, balloon on a stick, large candy bar, candy bites, ribbons, decorations, and your enclosure card. Container may vary." ["txtOptionName"]=> string(7) "default" ["txtValue1"]=> string(9) "4 cookies" ["txtPrice1"]=> string(2) "25" ["txtValue2"]=> string(9) "6 cookies" ["txtPrice2"]=> string(2) "30" ["txtValue3"]=> string(9) "8 cookies" ["txtPrice3"]=> string(2) "35" ["txtValue4"]=> string(0) "" ["txtPrice4"]=> string(0) "" ["txtValue5"]=> string(0) "" ["txtPrice5"]=> string(0) "" ["txtQty"]=> string(4) "4999" }
EDIT2:感谢所有人的帮助。我发现了这个问题,它确实超出了我发布的内容。我在页面顶部有var_dump
,帖子在没有括号的情况下工作正常,所以我假设其他所有内容都设置正确。但是,在我的var_dump之前有一对包含,并且$_POST
中包含一个包含破坏数组的内容。
答案 0 :(得分:1)
您的代码中没有问题。您应该确保已将选择框放在表单标记内,至少选择了一个元素,并且表单标记中没有其他元素具有相同的名称。
清单:
答案 1 :(得分:0)
您提交的表单中是否有selectBox?
该表单是否以action =“post”提交?
答案 2 :(得分:0)
在php中
foreach($_POST['cboCategory'] as $category)
{
echo $category . "<br>";
}
基督徒所说的不对
当然你没有在表单的方法属性上使用get而不是post?