Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sharepoint 如何在保存按钮上添加重定向链接?_Sharepoint_Sharepoint 2010 - Fatal编程技术网

Sharepoint 如何在保存按钮上添加重定向链接?

Sharepoint 如何在保存按钮上添加重定向链接?,sharepoint,sharepoint-2010,Sharepoint,Sharepoint 2010,我试图使讨论板消息部分的保存按钮返回到团队站点,而不是停留在讨论板页面上。我已经找了几个小时了,但没能找到多少。我试图插入以下代码: <script type="text/javasccript"> $(document).ready(function() { var button = $("input[id$=SaveItem]"); // change redirection behavior button.removeAttr("onclick"); butt

我试图使讨论板消息部分的保存按钮返回到团队站点,而不是停留在讨论板页面上。我已经找了几个小时了,但没能找到多少。我试图插入以下代码:

<script type="text/javasccript">
$(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[name=aspnetForm]");
  var oldPostbackUrl = aspForm.get(0).action;
  var currentSourceValue = GetUrlKeyValue("Source", true, oldPostbackUrl);
  var newPostbackUrl = oldPostbackUrl.replace(currentSourceValue, "mySite.aspx");
  if (!PreSaveItem()) return false;
  WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(elementName, "", true, "", newPostbackUrl, false, true));
  });
}); 
</script>

$(文档).ready(函数(){
var按钮=$(“输入[id$=SaveItem]”);
//更改重定向行为
移除按钮(“onclick”);
按钮。单击(函数(){
var elementName=$(this.attr(“name”);
var aspForm=$(“form[name=aspnetForm]”);
var oldPostbackUrl=aspForm.get(0).action;
var currentSourceValue=GetUrlKeyValue(“Source”,true,oldPostbackUrl);
var newPostbackUrl=oldPostbackUrl.replace(currentSourceValue,“mySite.aspx”);
如果(!PreSaveItem())返回false;
WebForm_DoPostBackWithOptions(新WebForm_PostBackOptions(elementName,“,true,”,newPostbackUrl,false,true));
});
}); 
但它不起作用,我在NewForm.aspx中得到了这个错误:

语言筛选器:未连接

语言筛选器未连接。要连接语言过滤器,请打开“Web部件编辑”菜单,然后选择“连接”将此语言过滤器连接到其他Web部件


不管怎样,现在我迷路了,任何帮助都会很好。

您可以更改新项目表单查询字符串的源参数,如下所示:

http://siteurl/testing/teamsite/Lists/Team%20Discussion/New1.aspx?Source=siteurl
单击“取消”或“保存”按钮时,页面将重定向到指定的url。那么覆盖Save按钮就不需要jquery了


有关更多详细信息,请参阅本文,它对我也不起作用,但我最终通过注释除第一个变量之外的所有行并将其输出到控制台,使它起作用。控制台输出告诉我aspForm为null。所以我当时就知道“form[name=aspnetForm]”在源代码中不存在。通过检查源代码,我找到了id=aspnetForm的表单,所以我替换了那行代码,瞧

var aspForm = $("form[id=aspnetForm]");

我看过很多关于如何做到这一点的帖子——没有
SOURCE
querystring

因此,我在SharePoint 2013中对该解决方案进行了数小时的测试。这个保存按钮完全按照预期重定向;我让它重定向到
“/Pages/default.aspx”

$(文档).ready(函数(){
变量元素名;
var-oldPostbackUrl;
var-currentSourceValue;
var newPostbackUrl;
var按钮=$(“输入[id$=SaveItem]”);
//更改重定向行为
移除按钮(“onclick”);
按钮。单击(函数(){
var elementName=$(this.attr(“name”);
var aspForm=$(“form[id=aspnetForm]”);
oldPostbackUrl=aspForm[0]。操作;
currentSourceValue=GetUrlKeyValue(“源”),true,
oldPostbackUrl);
newPostbackUrl=oldPostbackUrl.replace(currentSourceValue,“/Pages/default.aspx”);
如果(!PreSaveItem())返回false;
WebForm_DoPostBackWithOptions(新WebForm_PostBackOptions(elementName,“,true,”,newPostbackUrl,false,true));
});//结束按钮。单击
}); //结束文件准备就绪

这不会保存布尔类型的字段或多行文本