多选阵列不发送数据

时间:2013-11-07 15:01:40

标签: php html arrays select

作为ussual我想使用多个选择。

<select  multiple="multiple" class="form-control" name="kraj[]">
<option value="1">Středočeský</option>
<option value="2">Jihočeský</option>
<option value="3">Plzeňský</option>
<option value="4">Jihomoravský</option>
<option value="5">Vysočina</option>
<option value="6">Moravskoslezský</option>
<option value="7">Ústecký</option>
<option value="8">Olomoucký</option>
<option value="9">Kralovehradecký</option>
<option value="10">Pardubický</option>
<option value="11">Zlínský</option>
<option value="12">Karlovehradecký</option>
<option value="13">Liberecký</option>
<option value="14">Praha</option>

但这次我没有从中获取数据。表单的其他部分正常工作,但在选择一些选项后,我得到一个空的kraj []数组。 print_r看起来像:

`阵列 (...

[delka] => 5000

[kraj] => 

[onoffswitch] => on
...

)`

我只是看不出来,有什么不对,我有点绝望。截止日期tommorow,并坚持这个:D

2 个答案:

答案 0 :(得分:1)

你能试试吗,

HTML:

       <form method="POST" >         
           <select  multiple="multiple" class="form-control" name="kraj[]">
            <option value="1">Středočeský</option>
            <option value="2">Jihočeský</option>
            <option value="3">Plzeňský</option>
            <option value="4">Jihomoravský</option>

            etc
          </select>

           <input name="submit" value="Submit" type="submit">
       </form>

PHP:

             if(isset($_POST)){

                     foreach ($_POST['kraj'] as $selectedOpt){
                        echo $selectedOpt."\n";                 
                     }                  
                }

         echo "<pre>";
             print_r($_POST);
         echo "</pre>";

输出:

                 Array
                (
                    [kraj] => Array
                        (
                            [0] => 1
                            [1] => 2
                            [2] => 3
                        )

                )

答案 1 :(得分:1)

我无法复制您的问题 - 您的脚本按预期工作。

尝试以下方法:

<?php

if (sizeof($_POST)) {
    var_dump($_POST);
}

?>
<form method="post" action="">
<select  multiple="multiple" class="form-control" name="kraj[]">
    <option value="1">Středočeský</option>
    <option value="2">Jihočeský</option>
    <option value="3">Plzeňský</option>
    <option value="4">Jihomoravský</option>
    <option value="5">Vysočina</option>
    <option value="6">Moravskoslezský</option>
    <option value="7">Ústecký</option>
    <option value="8">Olomoucký</option>
    <option value="9">Kralovehradecký</option>
    <option value="10">Pardubický</option>
    <option value="11">Zlínský</option>
    <option value="12">Karlovehradecký</option>
    <option value="13">Liberecký</option>
    <option value="14">Praha</option>
</select>
<input type="submit" />
</form>

提交后:

enter image description here