Jan*_*nne 4 django validation jquery dialog
我有一个Django表单,我在用户单击网页上的链接后动态加载到jQuery对话框.链接中的href指向仅包含表单内容的Django页面,而不是整个站点布局.
$('#add-note').click(function() {
$('#dialog').load($(this).attr('href')).dialog({
title: 'Add a note',
modal: true,
draggable: false,
minWidth: 500,
});
return false;
});
如果用户提交在后端验证的表单,这可以正常工作.但是,如果表单包含验证错误,Django会将浏览器转发回表单页面,在这种情况下,表单页面实际上并不是用户当前正在查看的页面.
看,用户在一个完全不同的页面上,表单只是动态加载到jQuery对话框.所以问题是,处理这种情况的最佳方法是什么?如何打开包含验证错误的表单回到对话框而不是表单页面本身?
所有帮助非常感谢!
当使用AJAX和Django表单时,我通常采用以下方法(虽然没有代码示例,但我认为你会得到这个想法).
django.template.loader.render_to_string(使用我提到的模板)将此表单direclty呈现为html .将此呈现的表单放入上下文中,将其推送到模板.django.template.loader.render_to_string),并至少将其返回为html.如果表单无效,Thls将包含错误.这种方法的优点是Django仍然负责表单验证和错误显示,你不需要通过Javascript来处理它(特别是对于字段错误可能有点烦人).缺点当然是你必须为它编写更多的后端代码.:)
| 归档时间: |
|
| 查看次数: |
2363 次 |
| 最近记录: |