2009-08-03 44 views
2

我遇到的问题是,我们组中的人员正在使用链接访问表单,以将新内容发布到SharePoint列表。每次他们点击“提交”发布新的项目,SharPoint将他们重定向到列表中。 我需要SharePoint的解决方案来将它们定向到空白的Entry表单,无论他们需要多少次使用它。 有没有这样的解决方案?谢谢,一旦条目提交,将SharePoint中的条目表单重新导回自身?

我已经有这个“/EntryForm.aspx?Source=http://”链接到入口表单,但只工​​作了2次,之后将直接到列表中。

回答

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(获取URL参数)功能从here拍摄,我觉得它真的很有用。

希望它可以帮助

查理

+0

感谢查理, 我会尝试你的解决方案,但由于我是新来的SP,没有Java的经验,有什么事我需要机会/添加在此代码? – Marius 2009-08-06 21:25:18