我正在尝试将一些精心设计的javascript验证添加到django管理表单中。当用户点击三种保存按钮中的任何一种(保存,保存并继续,或保存并添加其他)时,我的javascript就会运行。它的部分功能是在发布之前进行ajax调用以提供特殊检查。当我使用添加并继续按钮的jquery捕获click事件时,有时我会停止提交的表单,有时我会允许它被提交。有时,只会抛出警告而不是错误,然后用户可以决定是否继续提交表单。
最终最终提交时,需要使用他们最初点击的按钮指定的流程提交。我发现添加form.submit();
的JS仅根据保存按钮提交,将用户带回模型列表,即使用户最初点击保存并继续按钮。
我从form.submit();
更改了我的JS以捕获按钮本身并触发点击它,如果用户选择忽略警告,则绕过验证。但即使点击的按钮保存并继续,它仍然会在保存后返回到模型列表中。
当用户按下该按钮时,Django管理员做客户端指示保存并继续而不是普通的保存是什么?
所以这是我的问题的简短概括版本......
我如何使用Javascript(包括jQuery)强制执行Django管理表单提交:
提前感谢您的任何帮助。
答案 0 :(得分:1)
我想出来了。我必须创建一个隐藏字段,其中包含已单击的按钮的名称以及已单击的按钮的值,并将该字段与表单一起提交。工作得很好!