在由CSR(客戶端側渲染)重寫的SharePoint表單中。表單提交後重定向(CSR)
我試着添加一個新的按鈕,它與保存按鈕幾乎相同,只是它重定向到具有給定參數的另一個窗體。
事情是,重定向不起作用。 我試圖通過改變窗體的「動作」屬性來重定向,但它似乎沒有被計入。
下面是新按鈕: <input id="custom_addLine" type="button" name="custom_addLine" value="+" class="ms-ButtonHeightWidth">
這裏是以下由按鈕和addLine方法調用的函數:
$('#custom_addLine').click(function(event){
event.preventDefault();
addLine(getQueryStringParameter('ID'));
});
function addLine(id) {
if(!PreSaveItem()) {
return false;
}
var actionUrl = "/Lists/PurchaseRequestLine/NewForm.aspx?PurchaseRequestID="+ id;
var encodedActionUrl = encodeURIComponent(actionUrl);
var newFormAction = location.pathname + '?Source=' + encodedActionUrl;
$('#aspnetForm').attr('action',newFormAction);
if(SPClientForms.ClientFormManager.SubmitClientForm('WPQ1')){
return false;
}
WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions('custom_addLine', "", true, "", "", false, true));
}
getQueryStringParameter是定製的函數來檢索從URI參數(其作品)。
棘手的部分是我想保留默認動作URI,以防單擊原始的保存按鈕,這就是爲什麼動態參數在運行中被修改的原因。
這是否仍然提交表單到相同的位置?我的意思是最初使用URI中給出的「Source」參數進行提交後SharePoint重定向有沒有其他方法可以重定向到Source參數指向的地方? – Hybris95
最初的Source參數是否存儲在原始的表單動作中?當您恢復原始操作時,下一次提交將會導致相同(取決於輸入值) – aprovent
我不確定要理解問題。改變表單行爲是否有效?如果沒有,我的迴應可以幫助你,否則它是你的源屬性,不工作? – aprovent