0

チェックボックスの値を投稿しようとしていますが、投稿できません。最初にすべてのチェックボックスを配列に収集し(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にバグがあると思います。同じことを修正するのを手伝ってください。

4

2 に答える 2

0

1.欠落防止デフォルト

交換:

$('#submit').click(function() {

と:

$('#submit').click(function(e) {
   e.preventDefault();

2. チェックボックスの名前がありません

<input type="checkbox" name="..."
于 2013-08-04T16:49:30.193 に答える