SPServices is null or not an object

536 Views Asked by At

I added this single method to sharepoint web Part. And even though it works in a different project in different repository, it does not work in the current site, any idea what might go wrong?

Code looks like below:

<script src="/sites/XXXXXX/Scripts/jquery-1.10.2.min.js"></script>
<script src="http://sharepoint.crescent.com/helpdesk/support/jquery.SPServices-
    2013.01.min.js" type="text/javascript"></script>
<script type="text/javascript">

$(document).ready(function () {
    //Get the current user name
    var user = $().SPServices.SPGetCurrentUser();

    //Find the Specific People picker field "Requester" and set its value
    $().SPServices.SPFindPeoplePicker({
        peoplePickerDisplayName: "Requester",
        valueToSet: user,
        checkNames: true
    });
});
</script>
1

There are 1 best solutions below

0
Jerry On

If it is in SharePoint 2013, please use below code to set people picker control with Current User:

<script type="text/javascript" src="/_layouts/15/clientpeoplepicker.js"></script>
<script type="text/jscript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery.SPServices/2014.02/jquery.SPServices-2014.02.js"></script>
<script type="text/javascript">
$(document).ready(function () {
        var currUser = $().SPServices.SPGetCurrentUser({ fieldName: "Title" });
        console.log(currUser);
         window.setTimeout(function() {
      SetAndResolvePeoplePicker("testuser", currUser);
      }, 750);


});

        function SetAndResolvePeoplePicker(fieldName,Name) 
        {

            var controlName = fieldName;
            var peoplePickerDiv = $("[id$='ClientPeoplePicker'][title='" + controlName + "']");
            var peoplePickerEditor = peoplePickerDiv.find("[title='" + controlName + "']");
            var spPeoplePicker = SPClientPeoplePicker.SPClientPeoplePickerDict[peoplePickerDiv[0].id];
             peoplePickerEditor.val(Name);
            spPeoplePicker.AddUnresolvedUserFromEditor(true);  
        }

</script>

enter image description here