• [SharePoint 2013] Set value for people editor with JSOM


    function PeoplePicker() {
        this.context = null;
        this.web = null;
        this.currentUser = null;
        this.parentTagId = null
    
        this.SetParentTagId = function (id) {
            this.parentTagId = id;
        }
    
        this.SetLoggedInUser = function () {
            if (this.parentTagId != null) {
                this.getWebUserData();
            }
        }
    
        this.getWebUserData = function () {
            this.context = new SP.ClientContext.get_current();
            this.web = this.context.get_web();
            this.currentUser = this.web.get_currentUser();
            this.currentUser.retrieve();
            this.context.load(this.web);
            this.context.executeQueryAsync(Function.createDelegate(this, this.onSuccessMethod),
                                           Function.createDelegate(this, this.onFailureMethod));
        }
    
        this.onSuccessMethod = function () {
            this.setDefaultValue(this.currentUser.get_title());
        }
    
        this.onFailureMethod = function () {
            alert('request failed ' + args.get_message() + '
    ' + args.get_stackTrace());
        }
    
        this.setDefaultValue = function (value) {
            var parentTag = document.getElementById(this.parentTagId);
            if (parentTag != null) {
                var _ppe = $("input[title='" + $(parentTagId).attr('title') + "']");
                _ppe.val(value);
                var _ppo = SPClientPeoplePicker.SPClientPeoplePickerDict[this.parentTagId];
                _ppo.AddUnresolvedUserFromEditor(true);
            }
        }
    }
    
    function SetWebUserData() {
        var pplPicker = new PeoplePicker();
        var controlId = $('td.ms-formlabel:contains("field name")').siblings('td').find('div[title="field name"]').prop("id");
        pplPicker.SetParentTagId(controlId);
        pplPicker.SetLoggedInUser();
    }
    
    
    $(document).ready(function(){
        ExecuteOrDelayUntilScriptLoaded(SetWebUserData, "sp.js");
    });
    

      

  • 相关阅读:
    JSTL学习总结
    Spring 3 MVC: Create Hello World Application In Spring 3.0 MVC(reprint)
    如何查询端口号被哪个程序占用?
    php 共享内存
    php 消息队列
    php 快速fork出指定个子进程
    批量 kill mysql 中运行时间长的sql
    socket发送http请求
    TCP/IP、Http、Socket的区别
    文本协议和二进制协议
  • 原文地址:https://www.cnblogs.com/s1nce/p/sharepoint-2013-peoplepicker-jsom.html
Copyright © 2020-2023  润新知