使用AJAX将参数传递给django模板

时间:2014-09-29 17:09:32

标签: javascript python ajax django django-tables2

我是Django和JavaScript的新手,我正在努力尝试从使用django-tables2呈现的html表中传递一些值

我想打开一个传递3个参数的django模板。 我有一个带有下拉按钮的html表,有几个选项。 每个打开一个不同的django模板。我使用这个JS函数从表中获取值:

<script type="text/javascript">
function param(){
 $(function(){
  var http = new XMLHttpRequest();
  var tbl = document.getElementById("myTable");
  var rows = tbl.rows;
  var url = "/recepcion/";
  for (var i = 0; i < rows.length; i++){
   rows[i].onclick =  function(){
   idpro = this.cells;
   ano = this.cells;
   mes1 = this.cells;
   $.ajax({
    type:"POST",
    url: "/recepcion/",
    datatype: "json",
    data: ({idprov: idpro[0].innerHTML, anio: ano[1].innerHTML, mes: mes1[2].innerHTML }),
    success: function(){
      http.open("POST",url,true),
      http.send(data)
        }
  });
   }
  }
 });
}
</script>

我需要的功能是:当我点击下拉按钮的第一个选项时,调用此功能。该函数将从某些单元格中获取值,并将此值作为参数传递给另一个模板,我可以在其中编辑某些记录。 这是我尝试传递参数的视图 views.py

def RecepcionView(request):
    idp = request.POST.get('idpro')
    year = request.POST.get('year')
    month = request.POST.get('month')
    if request.method == 'POST':
       r = DetalleRecepcion.objects.get(id_proveedor=idp,year=year,month=month)
       form = RecepcionForm(request.POST, instance=r)
       if form.is_valid():
          form.save()
          return HttpResponseRedirect('/monitor/')
    else:
       r = DetalleRecepcion.objects.get(id_proveedor=idp,year=year,month=month)
       form = RecepcionForm(instance=r)
    return render_to_response('recepcion.html',
                              {'form':form},
                              context_instance=RequestContext(request))

更新 我改变了函数,我把所有函数放在一个函数中,现在可以传递参数,但是我得到了错误:

ReferenceError:未定义数据

http.send(数据)

在firebug中,我可以看到函数将值传递给视图,视图使用我需要的信息来回答表单,但我需要打开表单,不仅要传递值。

任何建议。

0 个答案:

没有答案