チェックボックスの値を投稿しようとしていますが、投稿できません。最初にすべてのチェックボックスを配列に収集し(datas
- でテストすると正常に動作しますconsole.log(datas)
)、次にそれらをまとめて送信します。しかし、私はデータを投稿することができません。空の配列を取得しています。どこが間違っているのですか?
ビュー.py
if request.method == 'POST':
selected_users = request.POST.getlist('users[]')
return HttpResponse(selected_users)
jQuery
$(document).ready(function(){
$('#submit').click(function() {
var datas = new Array();
var i = 0;
$("input[type=checkbox]:checked").each(function() {
datas[i] = $(this).val();
i++;
});
console.log(datas) //works fine
$.post("get_data/", {'users[]': datas}, function(data){
alert(data);
});
});
})
urls.py
urlpatterns = patterns('',
url(r'get_data/','apps.api.views.get_data', name = 'grabhalo_get_data'),
)
チェックボックス
{% for user in users %}
<input type="checkbox" class="check" value="{{user.id}}" />{{user.name}}<br>
{%endfor%}
<form id="form" method="POST" action="#">
{% csrf_token %}
<input type="text" class="span8 search-query" placeholder="Type here..." name="chat">
<input type="submit" value="Send" class = "btn btn-primary" id = "submit">
</form>
console.logを表示する際のパラメーターは次のとおりです。
users[] 1
users[] 2
確かではありませんが、views.pyにバグがあると思います。同じことを修正するのを手伝ってください。