[英]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.