我是django的新手,我有一个疑问: 可以将参数传递给多个表单。
方案: 我有一个用django-tables2渲染的html表,在第一列我有一个下拉按钮。下拉按钮中的一个项目打开一个带有3种不同形式的引导模态窗口(所有格式化模型形式)。 参数使用javascript函数,函数从html表的某些单元格中取值,并将此值作为参数发送。 所有这些形式都采用相同的论点。我可以将参数传递给一个表单,但我需要将参数传递给所有表单。
简单来说: 如何在同一个帖子请求中将参数传递给各种形式?
我上面怎么说我是django的新手,我不知道是否可以获得此功能。 的更新 我的表格:(所有表格都有相同的代码。非名称更改)
class RecepcionForm(forms.ModelForm):
def __init__(self,*args,**kwargs):
super(RecepcionForm,self).__init__(*args,**kwargs)
self.helper = FormHelper(self)
self.helper.layout.append(Submit('save','Grabar'))
class Meta:
model = DetalleRecepcion
我的观点:(所有表单都使用这样的视图。只有视图名称更改
def RecepcionView(request):
idp = request.GET.get('i')
anio = request.GET.get('a')
mes = request.GET.get('m')
if request.method == 'POST':
r = DetalleRecepcion.objects.get(id_proveedor=idp,anio=anio,mes=mes)
form = RecepcionForm(request.POST, instance=r)
if form.is_valid():
form.save()
return HttpResponseRedirect('/monitor/')
else:
r = DetalleRecepcion.objects.get(id_proveedor=idp,anio=anio,mes=mes)
form = RecepcionForm(instance=r)
return render_to_response('recepcion.html',
{'form':form},
context_instance=RequestContext(request))
我只知道如何将值传递给唯一的表单。我用这个功能:
<script type="text/javascript">
function param(){
var tbl = document.getElementById("myTable");
var rows = tbl.rows;
var argu = "";
for (var i = 0; i < rows.length; i++){
rows[i].onclick = function(){
idpro = this.cells;
argu = "?i="+idpro[0].innerHTML+"&a="+idpro[1].innerHTML+"&m="+idpro[2].innerHTML;
window.location = "/recepcion/"+argu;
}
}
}
</script>
我知道该函数编码非常糟糕,但是使用ajax post请求重定向模板时遇到了一些麻烦。 我尝试使用此功能,但我永远不能重定向到我发送参数的表单
<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({
async : false,
type:"GET",
url: "/recepcion/",
datatype: 'json',
data: ({i: idpro[0].innerHTML, a: ano[1].innerHTML, m: mes1[2].innerHTML }),
success: function(){
}
});
}
}
});
return false;
}
</script>
任何想法或建议如何实现此功能。?
提前致谢