簡體   English   中英

表格select2 POST為空

[英]forms select2 POST is empty

我正在尋求指導,以使我朝正確的方向前進。 我的教授不知所措。 我在select2多個字段的表單中遇到POST問題。 我有一個是/否標志,該標志確定要顯示哪個選擇2選擇選項。

下面的javascript非常適合顯示/隱藏。

   $(document).ready(function () {

      $('#option').change(function () {
        $this = $(this)
        $('.select_box').each(function () {
          $select = $('select', this);
          if ($select.data('id') == $this.val()) {
            $(this).show();
            $select.show().select2();
          } else {
            $(this).hide();
            $('select', this).hide();
          }
        });
      });
    });

我的表單具有“是/否/不適用”選項,該選項指示使用上面的javascript顯示的“選擇2”框。

<select name ="option" class="form-control " id="option">
        <option value="1"> Yes</option>
        <option value="0"> No</option>
        <option value="2"> N/A</option>
</select>

我的表單POST使用常規的POST選項處理,如下所示:

<form action = "{% url 'final' %}" form method = "POST">

在我的表單中,我具有.select_box div類。 選擇2選項提供正確的字段並正確填充多選。

<div id = "div_yesselect" class="select_box">
    <script src= "{% static '/accounts/option_select2.js' %}" type="text/javascript"></script>
     <select data-placeholder="Please select your course(s)?" data-id="1" class="js-example-basic-multiple" multiple="multiple" id = "id_courseselect" value = "{{course.id}}" style="width: 1110px" >
       {% for course in courses%}
       <option value="{{course.name}}" name = "courseid" >{{course.name}}</option>
       {% endfor %}
     </select>

用戶單擊“提交”按鈕時,POST將通過。 當用戶選擇多個選項或單個選項時,我可以驗證表單中除select2選項之外的所有字段。

<button class="btn btn-primary " type="submit">Submit</button>

在我的最終視圖中,當嘗試以select2名稱請求POST時,它返回一個空集,但表單中的其他所有內容都返回正確的值。 為什么select2選項不能正確發布?

courselist = request.POST.getlist('courseid')

Django中的POST表單取決於名稱屬性。 當您請求courseid ,它將查找名稱屬性等於courseid的元素,這意味着:

courselist = request.POST.getlist('courseid')

需要一個匹配的元素,例如

<select name="courseid" multiple>
  <option value="1">One</option>
  <option value="2">Two</option>
  <option value="3">Three</option>
</select>

您需要將name屬性添加到select元素,它應該可以工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM