SharePoint 2013 使用Javascript 为人员控件赋值。(Set peoplepicker value use JS)

来源:互联网 发布:雷欧mac全灭图解 编辑:程序博客网 时间:2024/05/21 21:38

SharePoint 2013 使用Javascript 为人员控件赋值。(Set peoplepicker  value  use JS)

参考地址:
http://stackoverflow.com/questions/12174181/set-peoplepicker-default-value-with-current-user-with-js

http://www.cnblogs.com/s1nce/p/sharepoint-2013-peoplepicker-jsom.html
http://www.sharepointcolumn.com/sp2013-setting-people-picker-value-in-newform-aspx/
http://www.cnblogs.com/Ryukaka/p/4645940.html

JS代码
function SetAndDisablePeoplePicker(fieldName, userAccountName) {            var controlName = fieldName;            var peoplePickerDiv = $("[id$='ClientPeoplePicker'][title='" + controlName + "']");            var peoplePickerEditor = peoplePickerDiv.find("[title='" + controlName + "']");            var spPeoplePicker = SPClientPeoplePicker.SPClientPeoplePickerDict[peoplePickerDiv[0].id];            peoplePickerEditor.val(userAccountName);            spPeoplePicker.AddUnresolvedUserFromEditor(true);            //disable the field            spPeoplePicker.SetEnabledState(false);            //hide the delete/remove use image from the people picker            peoplePickerDiv.find('.sp-peoplepicker-delImage').css('display', 'none');        }

调用
 ExecuteOrDelayUntilScriptLoaded(init, "sp.js");        function init() {            SetAndDisablePeoplePicker("分配对象", "adname\\spadmin");        }
前端的HTML调用
<input type="button" value="GetUserPicker" onclick="init()"></input>



说明:
JS代码部分是针对SharePoint 2013,使用2010的代码没有作用,请注意!
如果你Title 是中文的,请使用UTF-8。如果出现乱码,请吧你的JS文件另存一下,编码是UTF-8即可。
由于使用ID非常麻烦,这里是用title 代替的。
$().SPServices.SPFindPeoplePicker({     peoplePickerDisplayName: "分配对象",     valueToSet: $().SPServices.SPGetCurrentUser(),     checkNames: true});
实现之后的效果: 代码中赋值用的是这个 
adname\\spadmin


第二个录入框是测试,不用关心。
0 0
原创粉丝点击