Skip to main content

Populate people picker field with logged in user in SharePoint using JS

Please use below code to populate people picker in SharePoint online,

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script type="text/javascript">
ExecuteOrDelayUntilScriptLoaded(function () {
setTimeout(function () {
SetUserFieldValue('AuthorName'); }, 1000);
}, 'clientpeoplepicker.js');

//Set PeoplePicker Value
function SetUserFieldValue(fieldName) {
try{
var userAccountName = _spPageContextInfo.userLoginName;
//PeoplePicker Object
var peoplePicker = $("div[title='" + fieldName + "']");
//PeoplePicker ID
var peoplePickerTopId = peoplePicker.attr('id');
//People PickerEditor
var peoplePickerEditor = $("input[title='" + fieldName + "']");
//Set Value to Editor
peoplePickerEditor.val(userAccountName);
//Get Client PeoplePicker Dict
var peoplePickerObject = SPClientPeoplePicker.SPClientPeoplePickerDict[peoplePickerTopId];
//Unresolve User From Editor
peoplePickerObject.AddUnresolvedUserFromEditor(true);
}catch(e) {

}
}//End Set PeoplePicker Value
</script>

Ref: https://jasonscript.wordpress.com/2013/08/07/javascript-and-working-with-the-sharepoint-2013-people-picker/

Comments

Popular posts from this blog

Permission audit report for site and all sub sites using PowerShell

Use below script to get Permission audit report for site and all sub sites using PowerShell, Add-PSSnapin "Microsoft.SharePoint.PowerShell" $URL="https://intranet.contoso.com/sales/mysite/"      $site = Get-SPSite $URL      #Write the Header to "Tab Separated Text File"         "Site Name`t  URL `t Group Name `t User Account `t User Name `t E-Mail" | out-file "E:\Ulhas\UsersandGroupsRpt.txt"          #Iterate through all Webs       foreach ($web in $site.AllWebs)       {         #Write the Header to "Tab Separated Text File"         "$($web.title) `t $($web.URL) `t  `t  `t `t " | out-file "E:\Ulhas\UsersandGroupsRpt.txt" -append          #Get all Groups and Iterate through            foreach ($group in $Web.groups)          {                 "`t  `t $($Group.Name) `t   `t `t " | out-file "E:\Ulhas\UsersandGroupsRpt.txt" -append                 #Iterate throu

GetListItem and UpdateListItem using SPServices in MOSS 2007

GetListItem and UpdateListItem using SPServices in MOSS 2007 $(document).ready(function() { var itemToUpdate = GetListItem(); UpdateListItem(itemToUpdate); }); function GetListItem(){ var today = new Date(); var dayOfWeek = today.getDay(); var itemID = 0; var out = ""; var titleField = "<FieldRef Name='Title' />"; var descriptionField = "<FieldRef Name='Description' />"; var viewFields = "<ViewFields>" + titleField + descriptionField + "</ViewFields>"; var myQuery = "<Query>" + "<OrderBy>" + "<FieldRef Name='ItemOrder' Ascending='True'/>" + "</OrderBy>" + "</Query>"; $().SPServices({ operation: "GetListItems", async: false, listName: "MyList", CAMLQuery: myQuery,   CAMLViewFields: viewFields, completefunc: fun

Bind a html string with Enhanced rich text box which has heavy formatting in O365 using Angular JS

Bind a html string with Enhanced rich text box which has heavy formatting in O365 using Angular JS , below solution did the trick. You have to use  $sce.trustAsHtml() , to use it directly into the DOM, you could do it like this, JS/controller part: Ref:  http://stackoverflow.com/questions/21503588/angularjs-bind-html-string-with-custom-style $scope . trustAsHtml = function ( string ) { return $sce . trustAsHtml ( string ); }; And in DOM/HTML part <div data-ng-bind-html = "trustAsHtml(htmlString)" ></div>