Javascript 从新表单重定向到显示表单不会保存项目
当用户使用NewForm.aspx保存项目时,我试图重定向到显示表单,而不是返回到“所有项目”视图。我能够完成重定向,但它没有保存该项。我的代码如下所示,并输入到NewForm.aspx页面上的脚本编辑器Web部件中:Javascript 从新表单重定向到显示表单不会保存项目,javascript,jquery,sharepoint,sharepoint-2013,Javascript,Jquery,Sharepoint,Sharepoint 2013,当用户使用NewForm.aspx保存项目时,我试图重定向到显示表单,而不是返回到“所有项目”视图。我能够完成重定向,但它没有保存该项。我的代码如下所示,并输入到NewForm.aspx页面上的脚本编辑器Web部件中: <script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script> // JavaScript source code $(d
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script>
// JavaScript source code
$(document).ready(function() {
var button = $("input[id$=SaveItem]");
// change redirection behavior
button.removeAttr("onclick");
button.click(function() {
var elementName = $(this).attr("name");
var aspForm = $("form[id=aspnetForm]");
var oldPostbackUrl = aspForm.attr("action");
//var oldPostbackUrl = aspForm.action;
var currentSourceValue = GetUrlKeyValue("Source", true, oldPostbackUrl);
var newPostbackUrl = oldPostbackUrl.replace(currentSourceValue, "/sites/mysite/DispForm.aspx");
if (!PreSaveItem()) return false;
WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(elementName, "", true, "", newPostbackUrl, false, true));
});
});
</script>
//JavaScript源代码
$(文档).ready(函数(){
var按钮=$(“输入[id$=SaveItem]”);
//更改重定向行为
移除按钮(“onclick”);
按钮。单击(函数(){
var elementName=$(this.attr(“name”);
var aspForm=$(“form[id=aspnetForm]”);
var oldPostbackUrl=aspForm.attr(“操作”);
//var oldPostbackUrl=aspForm.action;
var currentSourceValue=GetUrlKeyValue(“Source”,true,oldPostbackUrl);
var newPostbackUrl=oldPostbackUrl.replace(currentSourceValue,“/sites/mysite/DispForm.aspx”);
如果(!PreSaveItem())返回false;
WebForm_DoPostBackWithOptions(新WebForm_PostBackOptions(elementName,“,true,”,newPostbackUrl,false,true));
});
});
这在SharePoint 2013 Online中。更新:如果您没有弹出到模式(列表设置>高级>对话框中的启动表单?)中,它会起作用。但我需要它在模式中弹出。我以为它在工作,但某些字段不会保存!请参阅:您无法对自己的帖子0进行投票。一旦用户返回到“所有项目”页面,我会有条件地重定向用户,使其正常工作。基本上,一旦默认的SharePoint save and return to items视图完成,我将使用REST API查找当前作者最近创建的、其工作流未完成的项目,然后重定向到显示表单