首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sharepoint-2013使用活动用户部门填充字段

Sharepoint-2013使用活动用户部门填充字段
EN

Stack Overflow用户
提问于 2017-05-04 22:24:02
回答 1查看 845关注 0票数 0

我有一些代码,它将在SP PeoplePicker中查找用户并返回用户的部门。

我想要实现的是用当前用户的部门自动填充字段,因为我不想要peoplepicker字段。无论是当前的用户数据应该是可检索的,或者我应该能够在没有人员选择字段的情况下进行搜索。

因此,我将以下脚本添加到内容编辑器中:

代码语言:javascript
复制
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jquery.SPServices/2014.02/jquery.SPServices-2014.02.min.js"></script>

<script> 
    $(document).ready(function()
    { 
        var PeoplePicker = $("div[title='test_column']"); 
        var PeoplePickerTopId = PeoplePicker.attr('id'); 
        var ppobject = SPClientPeoplePicker.SPClientPeoplePickerDict[PeoplePickerTopId]; 

        ppobject.OnValueChangedClientScript = function(elementId, userInfo){getUserData()};       
    });

    function getUserData()
    { 
        //Set variables
        var UserDept;
        var i;
        var _PeoplePicker = $("div[title='test_column']"); 
        var _PeoplePickerTopId = _PeoplePicker.attr('id'); 
        var ppobject = SPClientPeoplePicker.SPClientPeoplePickerDict[_PeoplePickerTopId]; 

        // Call GetAllUserInfo to read PeoplePicker entries
        editorsInfo = ppobject.GetAllUserInfo(); 

        // Set Customer Info
        if(editorNames!= null)
            {UserDept = editorsInfo[0].EntityData.Department;} 

        $("input[title='Department']").val(UserDept)
    }
</script>

注意,我没有访问Sharepoint设计器的权限。我试着让这个工作只从网络视图。

此外,如果答案需要AJAX或从httpget post返回值,请您彻底回答答案,因为我以前从未使用过AJAX,并且在接收来自web服务器的响应方面经验有限。

提前谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-05 12:44:30

您可以使用SPServices Jquery。下载最新的。您使用的是Sharepoint 2013,所以使用脚本编辑器而不是内容编辑器。下面是我经常使用的脚本,运行良好。

代码语言:javascript
复制
<script type="text/javascript" src="/your path to JS/SiteAssets/JS/jquery-3.1.1.js"></script>  
<script type="text/jscript" src="/your path to JS/SiteAssets/JS/jquery.SPServices.min.js"></script>  

<script type="text/javascript">  

$(document).ready(function() {  	

	var UserDept = $().SPServices.SPGetCurrentUser({  
	fieldName: "Department",  	
	debug: false  
	});	  
	 

	$("input[title*='Department']").val(UserDept); // For assigning to SharePoint column named 'Department'  

	$("#txtDept").val(UserDept); // For assigning to textbox  


});  

</script>  

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43793700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档