【问题标题】:SPServices is null or not an objectSPServices 为 null 或不是对象
【发布时间】:2018-08-22 22:58:45
【问题描述】:

我将此单一方法添加到 sharepoint web 部件。 即使它在不同存储库中的不同项目中工作,它也不能在当前站点中工作,知道可能出了什么问题吗?

代码如下所示:

<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>

【问题讨论】:

  • 你谷歌了吗?这已经回答了很多次了。这可能会帮助你sharepoint.stackexchange.com/questions/58263/…
  • 当然我用谷歌搜索并尝试了不同的解决方案。你引用的帖子有 4 个答案,被接受的一个被否决了,因为它是模糊的。
  • 你检查过SPServices的版本可以用低版本的jquery`运行吗?
  • 它确实可以运行,因为我拥有的另一个项目中使用了相同版本的 SPService 和 jQuery,并且它们运行没有问题。

标签: jquery sharepoint web-parts spservices


【解决方案1】:

如果是在 SharePoint 2013 中,请使用以下代码为当前用户设置人员选取器控件:

<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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多