1

I'm using Sharepoint 2013. I tried following code to auto populate people picker from current user, but its not working. (Requester AD ID is people picker and account is AD ID of user)

var adid= $().SPServices.SPGetCurrentUser({  
fieldName: "Account",  
});  
$("input[Title='Requester AD ID']").val(adid);
Tushar Chaudhari
  • 132
  • 1
  • 2
  • 12

4 Answers4

2

Please check below code.

$(document).ready(function() {
var userName= $().SPServices.SPGetCurrentUser();
$().SPServices.SPFindPeoplePicker({
   peoplePickerDisplayName: "Owner",
   valueToSet: userName,
   checkNames: true
  });
});
Mohamed El-Qassas MVP
  • 45,382
  • 9
  • 53
  • 96
0
var usr;
var contextDR;
var webDR;

$(document).ready(function () 
{
     initializePeoplePicker('peoplePickerteamleaderDiv');
     SP.SOD.executeFunc('sp.js', 'SP.ClientContext', getusername);
});

//initialize PeoplePicker div tag
function initializePeoplePicker(peoplePickerElementId) 
{
     var schema = {};
     schema['PrincipalAccountType'] = 'User,DL,SecGroup,SPGroup';
     schema['SearchPrincipalSource'] = 15;
     schema['ResolvePrincipalSource'] = 15;
     schema['AllowMultipleValues'] = true;
     schema['MaximumEntitySuggestions'] = 50;
     schema['Width'] = '222px';
     this.SPClientPeoplePicker_InitStandaloneControlWrapper(peoplePickerElementId, null, schema);
}


//get plannedby user
function getusername() 
{
     contextDR = new SP.ClientContext.get_current();
     webDR = contextDR.get_web();
     usr = webDR.get_currentUser();
     contextDR.load(usr);
     contextDR.executeQueryAsync(Function.createDelegate(this, function () { usrsuccess(); }), Function.createDelegate(this, function () { usrfail(); }));
}

function usrsuccess(sender, args) 
{
     var a = usr.get_title() + ";";
     var peoplePickerteamleaderDiv = this.SPClientPeoplePicker.SPClientPeoplePickerDict.peoplePickerteamleaderDiv_TopSpan;
     peoplePickerteamleaderDiv.AddUserKeys(a);
}

function usrfail(sender, args) 
{
}

body part:

<div id="peoplePickerteamleaderDiv"></div>

use this js reference:

_layouts/15/clienttemplates.js
_layouts/15/clientpeoplepicker.js
_layouts/15/clientforms.js
_layouts/15/autofill.js
_layouts/15/1033/strings.js
Nikhil Bhavani
  • 320
  • 1
  • 2
  • 7
  • I want to set value in shrepoint NewForm.aspx,where people picker is already availabe. If i create another people picker then I have to save its data dynamically, and i dont want to do that. – Tushar Chaudhari Dec 12 '16 at 13:15
0

The following is the full code that works for me in SharePoint Online. I placed this immediately after PlaceHolderMain in the NewForm.aspx page of my list in SharePoint Designer:

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js">
</script>
<script src="/_layouts/15/clientforms.js"></script>
<script src="/_layouts/15/clientpeoplepicker.js"></script>
<script src="/_layouts/15/autofill.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.SPServices/2014.02/jquery.SPServices.js"></script>
<script type="text/javascript">

$(document).ready(function () {
  SP.SOD.executeFunc('sp.js', null, function () {
     retrieveUserInfo("Employee");  // Set this to the Title of the person column
  })
});

function retrieveUserInfo(PickerTitle) {
    var currentuserName = $().SPServices.SPGetCurrentUser({
        fieldName: "Title"
    });

    $('input[title="' + PickerTitle + '"]').val(currentuserName).attr('size', 40);

    $('div[title="' + PickerTitle + '"] span.ms-helperText').hide();

    // Select the target user field from the dictionary of user fields on the page.
    var peoplePicker = SPClientPeoplePicker.SPClientPeoplePickerDict[$('[title="' + PickerTitle + '"]')[0].id];

    // Resolve the user using the value set in the input field.
    peoplePicker.AddUnresolvedUserFromEditor(true);
}
Sean Regan
  • 130
  • 7
0

Check this question the answer given by WWC. (worked for me - SharePoint Online)

try {
    //SharePoint 2013
    var travelPeoplePicker = null;
    for (var prop in SPClientPeoplePicker.SPClientPeoplePickerDict) {
        if (prop.indexOf("YOUR_PEOPLEPICKER_FIELD_NAME_HERE") >= 0) {
            travelPeoplePicker = SPClientPeoplePicker.SPClientPeoplePickerDict[prop];
            break;
        }
    }
    if (travelPeoplePicker != null) {

        var usrObj = { 'Key': strUserName };
        travelPeoplePicker.AddUnresolvedUser(usrObj, true);
        //$("input[title='TravelRequestor']").focus().val(strUserName).attr("size", strUserName.length);
    }
}
catch (e) {
    //alert(e);
}    
Kristaps Vilerts
  • 772
  • 9
  • 36
Jefin Mathew
  • 403
  • 5
  • 16