表单提交未收到多个 html 选择

Posted

技术标签:

【中文标题】表单提交未收到多个 html 选择【英文标题】:Form submit not receveing multiple html select 【发布时间】:2013-02-13 23:40:43 【问题描述】:

我有一个带有 2 个字段、一个隐藏字段和一个多选字段的小表单。当我提交表单时,我收到了 django views.py 文件中的隐藏字段,但没有出现多选;就好像它从未存在过一样。有什么问题?

有表格的代码:

<form method="post" action="/admin/admin/grupos/configuracao/broadcast/post/" style="margin:0;" id="form_grupo">
        <table cellspacing="0"  style="margin-top: 0px; margin-bottom: 10px; border:2px solid #ccc;">
            <tbody>

                    <tr><td ><input  onclick="remove_grupo()"  type="button" value="Remover do Grupo" style="float:left; margin-top:205px;"></td><td>

                   <select id="select-to" name="unidades"  style="width:360px;height:500px;" multiple="multiple">
                % ifnotequal numero_unidades 0 %
            % for unidade in unidades %
                     <option value=" unidade.relacao.id ">
                         unidade.desc 
                     </option>
                % endfor %
                % endifnotequal %
        </select>   
        <input type="hidden" name="grupo_id" id="grupo_id" value=" grupo.id ">
        </tbody>
    </table>
</form>

我的看法:

def Salvar_Configuracao_Grupo_UR( request ):

    if request.user.is_authenticated() and request.user.is_superuser:

        Grupo_EPR.objects.filter( grupo = request.POST['grupo_id'] ).delete()
        grupo = Grupo.objects.filter( id = request.POST['grupo_id'] )[0]
        unidades = request.POST.getlist('unidades')

        for unidade in unidades:
            grupo_epr = Grupo_EPR()
            grupo_epr.relacao = unidade
            grupo_epr.grupo = grupo
            grupo_epr.save()

        return HttpResponseRedirect('/admin/admin/grupos/configuracao/broadcast/0')
    else:
        return HttpResponseRedirect('/admin/')

【问题讨论】:

您能发表一下看法吗? @Zulu 我已经用视图编辑了问题 你真的选择了选择中的任何项目吗? 你能说出多重选择没有出现在哪里吗?您是否测试过打印 request.POST(或使用 debug_toolbar)? 你说得对@Quentin ...提交表单时我没有选择任何内容...如何在提交之前选择所有选项?这是因为我将其用作多对多形式 【参考方案1】:

在您看来,使用request.GET.getlist()request.POST.getlist() 从多个具有相同名称的输入中获取值列表。

【讨论】:

我已经这样做了。但它不起作用。就像 django 请求无法识别 提交表单时我没有选择任何内容...这是因为我将其用作多对多表单 2021年的救星

以上是关于表单提交未收到多个 html 选择的主要内容,如果未能解决你的问题,请参考以下文章

出现错误“由于表单未连接而取消表单提交”

表单未在 yii 中验证和提交

Angular 2:由于表单未连接而取消表单提交

提交带有空复选框的 HTML 表单

表单提交时显示单选按钮选择的名称

多个表单生成的jquery不提交