我正在使用SharePointServices3.0,并创建了一个自定义列表表单。在这种形式下,我有一个peoplepicker字段,需要在默认情况下将其设置为当前用户。
到目前为止,这就是我所得到的:
ExecuteOrDelayUntilScriptLoaded(SetWebUserData, "PeoplePicker.js"); 函数SetWebUserData() { var pplPicker =新的PeoplePicker();//设置选择器人员的父标记id。pplPicker.SetParentTagId('ctl00_PlaceHolderMain_g_ec44fef5_c1a6_4ade_b7e4_2b80803724a1_ff6_1_ctl00_ctl00_UserField');pplPicker.SetLoggedInUser();}
但是,当我使用错误的父标记ID加载form...Am时,什么都不会发生?我从页面的源代码里拿出来的.
任何帮助都会很好!
发布于 2012-10-31 15:17:35
我就是这样做的。
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript">
$(window).load(function(){
var columnName = 'Manager Name';
var searchText = RegExp("FieldName=\"" + columnName + "\"", "gi");
$("td.ms-formbody").each(function() {
if(searchText.test($(this).html())) {
$(this).find("div[Title='People Picker']").html(getUserName());
return false;
}
});
function getUserName() {
var wshell=new ActiveXObject("wscript.shell");
var userName=wshell.ExpandEnvironmentStrings("%username%");
return userName;}
});
</script>“我的人员选择器”字段名为“Manager Name”,但它是一个变量,因此您可以更改它。我使用函数getUserName()来设置人员选择器的值。getUserName使用环境字符串用户名。有些人会告诉你,这不是最好的东西使用,因为它可以‘伪造’。我所处的企业环境是严格控制的。就我个人而言,我认为大多数用户甚至不会知道如何做到这一点。
我认为您所拥有的问题是人们选择字段所需要的价值,而不仅仅是字符串。我相信它正在寻找一个键值对,这意味着您需要在SharePoint站点中分配的用户名和ID号。为了解决这个问题,我使用的代码只是将用户名刺放在html表单字段中。
希望这能有所帮助。
发布于 2012-11-01 07:20:07
下面是我是如何实现的,这里我将用户名作为一个查询字符串传递,如果不是用当前用户填充的话。根据您的需要进行修改。
var Dname = queryString('DName');
if(Dname!= null)
{
var pp = getPickerInputElement('Employee');
if(pp != null)
{
pp.innerHTML =Dname;
document.getElementById('Emp').innerHTML=Dname;
}
}
else
{
fillPeoplePickerWithCurrentUser('Employee');
}
function fillPeoplePickerWithCurrentUser(pickerName)
{
var currentUser =getUserData();
}
function getUserData()
{
context = new SP.ClientContext.get_current();
web = context.get_web();
currentUser = web.get_currentUser();
currentUser.retrieve();
context.load(web);
context.executeQueryAsync(onSuccessMethod, onFaiureMethodl);
}https://stackoverflow.com/questions/12174181
复制相似问题