首页 > 解决方案 > 在 Django 2.0 中无法通过 jQuery Dual Boxes 获取 POST 输入

问题描述

我正在使用这个脚本在我的 Django 项目中选择多个选项。我的代码是这样的:

<form method="POST" id="demoform" action="/gestionPDD/HabilitarPDD" > {% csrf_token %}
  <select multiple="multiple" size="10" name="duallistbox_demo1[]" title="duallistbox_demo1[]">
    <option value="option1">Option 1</option>
    <option value="option2">Option 2</option>
    <option value="option3" selected="selected">Option 3</option>
    <option value="option4">Option 4</option>
    <option value="option5">Option 5</option>
    <option value="option6" selected="selected">Option 6</option>
    <option value="option7">Option 7</option>
    <option value="option8">Option 8</option>
    <option value="option9">Option 9</option>
    <option value="option0">Option 10</option>
    <option value="optionA">Option 10</option>
    <option value="optionB">Option 10</option>
    <option value="optionV">Option 10</option>
    <option value="optionD">Option 10</option>
  </select>
  <br>
  <button type="submit" class="btn btn-default btn-block">Submit data</button>
</form>
<script>
  var demo1 = $('select[name="duallistbox_demo1[]"]').bootstrapDualListbox();
  $("#demoform").submit(function() {
    alert($('[name="duallistbox_demo1[]"]').val());
    return false;
  });

</script>

问题是当您单击提交按钮时,会出现一个弹出确认,当您单击发送时没有任何反应。我的观点没问题,服务器没有从那个按钮得到任何响应。

如果您更改脚本中的返回值(假为真),它实际上可以工作并且服务器会收到一个 POST 请求(带有所有选定的选项),但您不能取消弹出窗口;当您单击提交按钮并检查弹出窗口时,如果您选择了错误的内容,则无法返回,无论如何都会发送请求。

知道如何解决吗?

标签: javascriptjqueryhtmlajaxdjango

解决方案


使用confirm($('[name="duallistbox_demo1[]"])而不是alert().

这将为您提供取消窗口的选项。

更多在这里


推荐阅读