4

所以当我发送表格时选择了第一个选项“公共”。数据被插入。但是当我尝试提交表单时选择了其他选项,即 for each 循环中的选项。不再发送数据。我检查了元素。他们正在输出所有正确的值。并且它们显示正确。他们为什么不插入数据库?当我单击提交时,没有任何反应。但是当我单击第一个选项的提交时,它工作正常吗?

<form method='POST' action='add.php'>

<select>    
        <option name="user_page_id" value="<?php echo $_SESSION['user_id']; ?>">Public</option>

        <?php
                    $dis=show_groups_select_list($_SESSION['user_id']);
                    foreach($dis as $key=>$list){

                        echo '<option name="user_page_id" value="'.$list['id'].'">'.$list['username'].'</option>';
                    }
        ?>
</select>
</form>
4

2 回答 2

7

您需要将名称属性放在select标签上,而不是option标签上。

<select name="user_page_id">
    <?php foreach ($dis as $key => $list): ?>
        <option value="...">...</option>
    <?php endforeach; ?>
</select>
于 2012-05-01T01:28:57.403 回答
2

我知道您得到了答案,只是为那些面临同样问题但该解决方案不起作用的人提供了更多信息:
我遇到了同样的问题,结果是由 Bootstrap 解决的!
如果您使用的是Bootstrap,则需要提供classselect 的属性:

<select name="any_name" class="form-control">
    <option value="this is what would be sent if selected"> sth </option>
</select>


欲了解更多信息,请查看讨论!

于 2017-08-29T00:35:24.010 回答