表单提交时遇到问题:
我的脚本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;
}
视图(网址:' 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 juste。 在终端中,消息"无效"显示... 为什么?
答案 0 :(得分:0)
在您的视图中更改请求请求。拼写检查?
另外,在$ .post中,如果你以" form []":form传递,那么视图就会有一个列表。 尝试做"表单":表单
答案 1 :(得分:0)
经过多次研究,我找到了解决方案:
form_data = parse_qs(request.POST['form'].encode('ASCII'))
query = QueryDict(request.POST['form'])
form = playersForm(query)
当我这样做时:form.cleaned_data ['name_of_field']
您怎么看? 这是一个很好的解决方案吗?