2009-08-03 31 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