【问题标题】:PHP: Get selected items from selection listPHP:从选择列表中获取选定的项目
【发布时间】:2016-08-05 17:45:05
【问题描述】:

我创建了一个基于 Web 的用户订单门户。我有一个包含所有用户组的列表。您可以选择多个组并将其添加到另一个列表 (selectedGroups)。在 selectedGroups-list 中,您还可以删除项目。效果很好!

列表结构在我的 order.php 中。提交订单后,您将获得一个摘要站点 (save.php)。在此页面上,我需要 selectedGroups 列表中的所有项目。不幸的是$__POST$_GET 和许多其他方法都不起作用。我从 save.php 中的 order.php 获取其他属性。

这是我 order.php 中的列表:

<select id="SelectedGroups" name="SelectedGroups[]" size="5" multiple disabled="true"> 
</select>

(选择列表只是在初始化时禁用)

这是我当前在 save.php 中的代码:

$Selection = $_POST['SelectedGroups'];

if(empty($Selection)) {
    echo 'Es wurde keine Gruppe ausgewählt!';
} else {
    foreach ($Selection as $selectedOption) {
        echo($selectedOption . "</br>");
    }
}

但我尝试了许多不同的方法。我永远不会得到 SelectedGroups-Items。

提前感谢您的帮助!

--- 编辑:14.04., 13:55 ---

此代码填充“组”-列表:

<?php

                                # Abfrage
                                $result = null;
                                $sql= 'SELECT * FROM dbo.Groups';
                                $query = sqlsrv_query($conn,$sql);

                                if (sqlsrv_has_rows($query)){
                                    while ($row = sqlsrv_fetch_array($query)){
                                        $result[] = $row['Groupname'];
                                    }
                                }


                                echo "<select id='Groups' name='Groups' size='5' multiple disabled='true'>";
                                    for($i = 0; $i < count($result);$i++){
                                        echo "<option value=". $i .">" . $result[$i] . "</option>";
                                    }
                                echo "</select>";

                                    ?>

然后我将条目从“Groups”转移到“selectedGroups”:

<label><input type="button" value="Hinzuf&uuml;gen" id="btn_add" name="add" disabled="false" onclick="move(this.form.Groups,this.form.SelectedGroups);"/></label>

--- 编辑:15.04., 11:45 --- 表格行:

<form action="./index.php" method="get" novalidate autocomplete="off" class="idealforms">

【问题讨论】:

  • 可能有两个原因:您的列表没有任何选项(运行时)或表单方法未发布。
  • 向我们展示您的&lt;form action= 等。您是否将其作为一种方法发布并且您是否将其发送到正确的文件?你的&lt;options&gt; 也有值吗?
  • 我看不到表单/操作有任何问题,因为我可以毫无问题地获取其他数据(例如电子邮件地址)。

标签: php arrays list selection


【解决方案1】:

下拉菜单被禁用。

禁用的 HTML 表单元素不会被发布。

改变

<select id="SelectedGroups" name="SelectedGroups[]" size="5" multiple disabled="true"> 
                    </select>

<select id="SelectedGroups" name="SelectedGroups[]" size="5" multiple> 
                    </select>

【讨论】:

  • 是的,它在启动时被禁用。如果您要选择每个组或只选择一个部门,则必须通过单选按钮进行选择。
  • $_POST['SelectedGroups'] 好像是空的
猜你喜欢
  • 2022-08-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多