0

我正在尝试发布一个简单selectmultiple属性:

<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">&nbsp;&nbsp;Corporate</option>
    <option value="43">&nbsp;&nbsp;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.

4

3 回答 3

1

您的代码没有问题。您应确保已将选择框放置在表单标签内,至少选择了一个元素,并且表单标签中没有其他同名元素。

清单:

  1. 选择框在表单标签内
  2. 在同一个表单中没有另一个同名的元素
  3. 选择框中至少选择了一个元素
于 2013-04-30T15:34:48.820 回答
0

您提交的表单中的那个 selectBox 吗?

该表单是否使用 action="post" 提交?

于 2013-04-30T15:24:34.533 回答
0

在php中

foreach($_POST['cboCategory'] as $category)
{

echo $category . "<br>";

}

基督徒说的不对

确定您没有在表单的方法属性上使用 get 而不是 post 吗?

于 2013-04-30T15:29:47.703 回答