我遇到的问题是我的群组中的人正在使用指向条目表单的链接将新主题发布到SharePoint列表。每次他们点击“提交”发布新项目时,SharPoint会将他们重定向到列表。 我需要一个SharePoint解决方案来将它们引导到空的Entry表单,而不管它们需要多少次使用它。 有这样的解决方案吗?谢谢,
我在条目表单的链接中已经有了这个“/EntryForm.aspx?Source=http://”,但只能工作2次,之后会直接进入列表。
答案 0 :(得分:3)
基本上,您需要确保Source参数始终设置为EntryForm.aspx,这样无论您在表单中循环的频率如何,总是会在最后将其重定向回新的表单。你知道这一点,但我只是在澄清!
最简单的方法是使用一些javascript来测试这个源参数,如果它不是你想要的,那么重定向请求就这样了。
如果您可以在SharePoint Designer中编辑EntryForm.aspx页面,请将此javascript添加到页面的某个位置:
<script type="text/javascript">
if (gup("ok") != 1) {
if (gup("source") != window.location.href) {
window.location = window.location.href + "?&source=" + window.location.href + "&ok=1";
}
}
function gup( name ){
//This function returns the URL parameter specified
name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
var regexS = "[\\?&]"+name+"=([^&#]*)";
var regex = new RegExp( regexS );
var results = regex.exec( window.location.href );
if( results == null )
return "";
else
return results[1];
}
</script>
基本上这只是将您的请求重定向到此页面,因此源始终是自己的。 ok参数只是为了确保它只执行一次。
这不是完美的代码,但它证明了这个想法(并且它有效!)
gup(获取网址参数)功能来自here,我发现它非常有用。
希望有所帮助
查理