定制";添加新项目";用于从查询字符串中提取参数的Sharepoint 2013列表中的表单
我想自定义sharepoint列表中的“添加新项目”表单,以提取查询字符串参数并自动将其设置为新项目中的一个查找字段。我在Sharepoint 2010中找到了一个完美的教程(),介绍了如何在Sharepoint Designer 2010中实现这一点,但设计模式在2013年被Designer删除,因此该教程没有多大用处定制";添加新项目";用于从查询字符串中提取参数的Sharepoint 2013列表中的表单,sharepoint,sharepoint-2013,sharepoint-designer,Sharepoint,Sharepoint 2013,Sharepoint Designer,我想自定义sharepoint列表中的“添加新项目”表单,以提取查询字符串参数并自动将其设置为新项目中的一个查找字段。我在Sharepoint 2010中找到了一个完美的教程(),介绍了如何在Sharepoint Designer 2010中实现这一点,但设计模式在2013年被Designer删除,因此该教程没有多大用处 因此,基本上我要问的是,如何在Sharepoint Designer 2013中提取查询字符串值?您应该能够轻松地做到这一点,但要使用javascript。在新表单中添加js引
因此,基本上我要问的是,如何在Sharepoint Designer 2013中提取查询字符串值?您应该能够轻松地做到这一点,但要使用javascript。在新表单中添加js引用
function getParameterByName(name) {
name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
results = regex.exec(location.search);
return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));}
$(document).ready(function(){
var paramVal = getParameterByName('ParamName');
$(".ms-formbody input[title='Title']").val(paramVal);
});
您应该能够轻松地做到这一点,但要使用javascript。在新表单中添加js引用
function getParameterByName(name) {
name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
results = regex.exec(location.search);
return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));}
$(document).ready(function(){
var paramVal = getParameterByName('ParamName');
$(".ms-formbody input[title='Title']").val(paramVal);
});
您应该能够轻松地做到这一点,但要使用javascript。在新表单中添加js引用
function getParameterByName(name) {
name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
results = regex.exec(location.search);
return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));}
$(document).ready(function(){
var paramVal = getParameterByName('ParamName');
$(".ms-formbody input[title='Title']").val(paramVal);
});
您应该能够轻松地做到这一点,但要使用javascript。在新表单中添加js引用
function getParameterByName(name) {
name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
results = regex.exec(location.search);
return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));}
$(document).ready(function(){
var paramVal = getParameterByName('ParamName');
$(".ms-formbody input[title='Title']").val(paramVal);
});
除了通过XSLT自定义列表视图和表单外,SharePoint 2013还引入了客户端呈现(CSR)技术。作为介绍,请阅读本文 由于CSR是SharePoint 2013中的默认呈现模式,因此我建议使用此方法自定义新表单页面 解决方案 假设任务列表包含
任务类别
查找字段
然后,可以使用以下呈现模板设置从名为cat
的查询字符串参数检索的TaskCategory
查找字段值
(function () {
var ctx = {};
ctx.Templates = {};
ctx.Templates.Fields = {
'TaskCategory': {
'NewForm': renderTaskCategory
}
};
SPClientTemplates.TemplateManager.RegisterTemplateOverrides(ctx);
})();
function renderTaskCategory(ctx) {
var catId = GetUrlKeyValue('cat'); //extract cat parameter from a query string
ctx.CurrentFieldValue = catId; //set lookup field value
return SPFieldLookup_Edit(ctx); //default template for rendering Lookup field control
}
要点:
- 查找字段值的指定格式为:
LookupId
是一个特定于SharePoint的函数,用于 从查询字符串中提取参数GetUrlKeyValue
JSLink
属性:
- 首先,让我们保存这个JS模板并将其命名为
。然后将指定的文件上载到SharePointTasks.JS
库中网站资产
- 在编辑模式下打开新表单页并转到web部件属性
- 在
组Miscellaneous
属性下查找并指定其值:JSLink
如下图所示~sitecolection/SiteAssets/Task.js
除了通过XSLT自定义列表视图和表单外,SharePoint 2013还引入了客户端呈现(CSR)技术。作为介绍,请阅读本文 由于CSR是SharePoint 2013中的默认呈现模式,因此我建议使用此方法自定义新表单页面 解决方案 假设任务列表包含
任务类别
查找字段
然后,可以使用以下呈现模板设置从名为cat
的查询字符串参数检索的TaskCategory
查找字段值
(function () {
var ctx = {};
ctx.Templates = {};
ctx.Templates.Fields = {
'TaskCategory': {
'NewForm': renderTaskCategory
}
};
SPClientTemplates.TemplateManager.RegisterTemplateOverrides(ctx);
})();
function renderTaskCategory(ctx) {
var catId = GetUrlKeyValue('cat'); //extract cat parameter from a query string
ctx.CurrentFieldValue = catId; //set lookup field value
return SPFieldLookup_Edit(ctx); //default template for rendering Lookup field control
}
要点:
- 查找字段值的指定格式为:
LookupId
是一个特定于SharePoint的函数,用于 从查询字符串中提取参数GetUrlKeyValue
JSLink
属性:
- 首先,让我们保存这个JS模板并将其命名为
。然后将指定的文件上载到SharePointTasks.JS
库中网站资产
- 在编辑模式下打开新表单页并转到web部件属性
- 在
组Miscellaneous
属性下查找并指定其值:JSLink
如下图所示~sitecolection/SiteAssets/Task.js
除了通过XSLT自定义列表视图和表单外,SharePoint 2013还引入了客户端呈现(CSR)技术。作为介绍,请阅读本文 由于CSR是SharePoint 2013中的默认呈现模式,因此我建议使用此方法自定义新表单页面 解决方案 假设任务列表包含
任务类别
查找字段
然后,可以使用以下呈现模板设置从名为cat
的查询字符串参数检索的TaskCategory
查找字段值
(function () {
var ctx = {};
ctx.Templates = {};
ctx.Templates.Fields = {
'TaskCategory': {
'NewForm': renderTaskCategory
}
};
SPClientTemplates.TemplateManager.RegisterTemplateOverrides(ctx);
})();
function renderTaskCategory(ctx) {
var catId = GetUrlKeyValue('cat'); //extract cat parameter from a query string
ctx.CurrentFieldValue = catId; //set lookup field value
return SPFieldLookup_Edit(ctx); //default template for rendering Lookup field control
}
要点:
- 查找字段值的指定格式为:
LookupId
是一个特定于SharePoint的函数,用于 从查询字符串中提取参数GetUrlKeyValue
JSLink
属性:
- 首先,让我们保存这个JS模板并将其命名为
。然后将指定的文件上载到SharePointTasks.JS
库中网站资产
- 在编辑模式下打开新表单页并转到web部件属性
- 在
组Miscellaneous
属性下查找并指定其值:JSLink
如下图所示~sitecolection/SiteAssets/Task.js
除了通过XSLT自定义列表视图和表单外,SharePoint 2013还引入了客户端呈现(CSR)技术。作为介绍,请阅读本文 由于CSR是SharePoint 2013中的默认呈现模式,因此我建议使用此方法自定义新表单页面 解决方案 假设任务列表包含
任务类别
查找字段
然后,可以使用以下呈现模板设置从名为cat
的查询字符串参数检索的TaskCategory
查找字段值
(function () {
var ctx = {};
ctx.Templates = {};
ctx.Templates.Fields = {
'TaskCategory': {
'NewForm': renderTaskCategory
}
};
SPClientTemplates.TemplateManager.RegisterTemplateOverrides(ctx);
})();
function renderTaskCategory(ctx) {
var catId = GetUrlKeyValue('cat'); //extract cat parameter from a query string
ctx.CurrentFieldValue = catId; //set lookup field value
return SPFieldLookup_Edit(ctx); //default template for rendering Lookup field control
}
要点:
- 查找字段值的指定格式为:
LookupId
是一个特定于SharePoint的函数,用于 从查询字符串中提取参数GetUrlKeyValue