2017-12-06 14 views
0

以下のテンプレートで、exampleidというオプションの値を取得しようとしています。私はオンラインで見つけたいくつかの例に従ってきましたが、何も動作していないようです。下のテンプレートには値を取得するためのajaxとjqueryがありますが、印刷しようとするとNoneが返されます。私は自分のリソースを使い果たしてしまい、教授は知らないように見えます。彼は「それを探しています」。投稿するオプションがありません

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 
<select title ="accesslevelid" class="form-control" id="accesslevelid" onchange="accesslevelid" title=""> 
      <option value="7"> Option 1</option> 
      <option value="5"> Option 2</option> 
      <option value = "3"> Option 3</option> 

</select> 
<script> 
$(document).ready(function() { 
    $('#accesslevelid').on('change', function() { 
     var accesslevelid = $(this).val(); 
     $.ajax({ url: "{% url 'submitted' %}", 
       headers: { 'X-CSRFToken': '{{ csrf_token }}' }, 
       data: { 
        accesslevelid: accesslevelid, 
       }, 
       type: 'POST', 
       success: function (result) { 
        alert(result); 
       }, 
       }); 
     }); 
    }); 
</script> 

投稿の値を取得しようとしています。 POSTは、7,5、または3

+0

これはサーバーの問題(Django側)のようです。必要に応じて、ここにPythonコードを投稿することもできます。 Djangoを使ってレンダリングすることで、7,5、および3を表示することができます。 https://docs.djangoproject.com/en/1.11/topics/forms/ –

答えて

1

を返送するための

exampleidpost = request.POST.get('accesslevelid', False) 
print (exampleidpost) 

私の望ましい結果は、あなたがこの方法を試してみてください、あなたにCSRFトークン AJAX要求、 を追加する必要があります。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 
<select title="accesslevelid" class="form-control" id="accesslevelid" > 
    <option value="1"> Option1</option> 
    <option value="2"> Option2</option> 
    <option value="3"> Option3</option> 
</select> 

<script> 
$(document).ready(function() { 
    $('#accesslevelid').on('change', function() { 
     var accesslevelid= $(this).val(); 
     $.ajax({ 
      url: "{% url 'submitted' %}", 
      headers: {'X-CSRFToken': '{{ csrf_token }}'}, 
      data: { 
       accesslevelid: accesslevelid 
      }, 
      type: 'POST', 
      success: function (result) { 
       alert(result); 
      }, 
     }); 
    }); 
}); 
</script> 

もうフォームは必要ありません。

+0

私はあなたが示唆したようにしましたが、投稿を取得しようとすると、MultiValueDictKeyError/account/example/ "( 'examplelid' 、False) "それは価値がないからだと私は信じています。私はまた、私のコードを更新し、私はまだフォームを必要とするだけでなく、多くのオプションを選択するだけで投稿する必要があります。 – student101

+0

@ student101 request.POST.get( 'accesslevelid'、False) –

+0

Ok多値出力のキーエラーが消えましたが、今度はselectオプション値の代わりにFalseを印刷に書き込むだけです。 – student101

関連する問題