2017-04-24 5 views
0

私はこのHTMLとJSコードを持っています。ここでは、POSTで次のフォームを送信します。私はPOSTを取得し、値はそのように選択している場合されたものであるかどうか尋ねるviews.pyで2つのPythonオブジェクトをHTMLに戻す方法

page.HTML

<div style="width: 100%; height: 70%;"> 
    <ul> 
     <li><input type="checkbox" name="biblioteca[]" value="biblioteca" id="rd-biblioteca"/> 
      <p class="label-text">Biblioteca </p> 
     </li> 
     <li><input type="checkbox" name="books[]" value="revistas" id="cb-revistas"/> 
      <p class="label-text">Revistas </p> 
     </li> 
     <li><input type="checkbox" name="books[]" value="novelas" id="cb-novelas"/> 
      <p class="label-text">Novelas </p> 
     </li> 
    </ul> 
</div> 

file.js

$('#msform').validate({ 
     submitHandler: function (form) { 
      $('#rd-biblioteca').is(':checked')?$('#rd-biblioteca').val():$('#rd-biblioteca').val(0); 
      $('#cb-revistas').is(':checked')?$('#cb-revistas').val():$('#cb-revistas').val(0); 
      $('#cb-novelas').is(':checked')?$('#cb-novelas').val():$('#cb-novelas').val(0); 
      form.submit(); 
     } 
    }); 

Infoというオブジェクトが作成され、ListaProjectに保存されます。

views.py

def school(request): 
    if request.method == 'POST': 
     listaProject = [] 

     if request.POST.get("biblioteca[]") == 'biblioteca': 

      if request.POST.get("books[]") == 'revistas': 
       revistas = Info(titulo="Titulo ..", 
           descripcion="Descripcion ...", 
           precio="Precio ...") 
       listaProject.append(cocina) 
      else: 
       if request.POST.get("books[]") == 'novelas': 
        novelas = Info(titulo="Titulo 2...", 
            descripcion="Descripcion 2...", 
            precio="Precio 2...") 
        listaProject.append(nube) 
     return render_to_response("v2/index.html", {'listaProject': listaProject}, 
            context_instance=RequestContext(request)) 
    else: 
     response_data = {} 
     response_data['response'] = "ok" 
     return HttpResponse(json.dumps(response_data), content_type="application/json") 

私が知っている必要がありますどのような[]書籍の2つのチェックボックスを選択するようにする方法である一つだけのあなたは、両方の選択にもかかわらず、表示されているので、2つのオブジェクトを示しています。

答えて

0

あなたはそれがあなた

$('#msform').validate({ 
    submitHandler: function (form) { 
     allVals=[] 

     $('#rd-biblioteca').is(':checked')?$('#rd-biblioteca').val():$('#rd-biblioteca').val(0); 

     $('input[name="books[]"]:checked').each(function() { 
      allVals.push($(this).val()); 
     });/*you can get multiple selected checkbox list in array */ 
     form.submit(); 
    } }); 

ビューファイルの変更ができますjsファイルに変更することで、複数選択チェックボックスの値を取得し、file.Hopeを表示することができます。

def school(request): 
if request.method == 'POST': 
    listaProject = [] 


     if request.POST.get("biblioteca[]") == 'biblioteca': 
      revistas = Info(titulo="Titulo ..", 
          descripcion="Descripcion ...", 
          precio="Precio ...") 
      listaProject.append(cocina) 
     else: 
      if request.POST.get("books[]") == 'revistas' or 'novelas': 
       novelas = Info(titulo="Titulo 2...", 
           descripcion="Descripcion 2...", 
           precio="Precio 2...") 
       listaProject.append(nube) 
    return render_to_response("v2/index.html", {'listaProject': listaProject}, 
           context_instance=RequestContext(request)) 
else: 
    response_data = {} 
    response_data['response'] = "ok" 
    return HttpResponse(json.dumps(response_data), content_type="application/json")`enter code here` 
+0

おかげで、それは素晴らしい仕事! –

関連する問題