【发布时间】:2015-10-03 12:25:22
【问题描述】:
我在提交表单时遇到问题:
我的脚本 JS:
function submit_form(){
var form = $("#theform").serializeArray();
var the_players = document.getElementsByName("theplayers");
var tab_players = [];
for(variable of the_players){
var name = variable.id.split("_")[1];
tab_players.push(variable.value);
}
// *** I send a tab and THE FORM ***
$.post("/myview_players",{"theplayers[]": tab_players,"form[]":form}).done(function(data){window.location.reload();});
return false;
}
还有视图(url:'myview_players'):
...
if request.method == "POST":
requete = request.POST
if requete.is_ajax() :
form = playersForm(requete.get("form"))
if form.is_valid() :
print("Valid ! ")
else :
print("Not valid...")
...
我将 Ajax 发送的表单传入 playerForm 的参数。 在终端中,显示“无效”消息... 为什么?
【问题讨论】:
-
Django 表单依赖于实际的整个
POST对象,因此将一个字段放入其中是行不通的。特别是如果该字段是一个字符串。也许用 dict 它会起作用。检查您从requete.get('form')获得的类型。 -
so requete.get('form') return None but requete.getlist('form[]') return : [u'[object Object]', u'[object Object]', u '[对象对象]'])!和 requet.get('form[]') return u'[object Object]' ...我什么都不懂...
标签: jquery ajax django django-forms