如果用户是使用JavaScript的组成员,则设置字段值 [英] Set field value if user is member of group using JavaScript
本文介绍了如果用户是使用JavaScript的组成员,则设置字段值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个设置字段,一个文本(test1326),如果用户在组中(groupa)我想设置 test1326到admin。如果有人可以提供帮助,我将非常感激。提前致谢!
Lee
I have a set field, a text (test1326) if a user is in group called (groupa) I want to set test1326 to admin. If someone could assist, I would greatly appreciate it. Thanks in advance!
Lee
推荐答案
你好李,
我们可以使用CSOM来实现这一目标。
使用
get_siteGroups
获取网站集的所有组的功能,然后根据组名称或ID从组集合中查找组。从组中检索用户并检查当前用户是否存在。如果当前用户是该组的成员
,请设置字段值。
这是一个演示:
编辑NewFrom.aspx页面,向页面添加脚本编辑器webpart或Content Edit Web部件。在Web部件中键入以下脚本。
<script src="http://code.jquery.com/jquery-1.11.3.min.js" type="text/javascript"></script>
<script type="text/javascript">
function IsCurrentUserMemberOfGroup(groupName, OnComplete) {
var currentContext = new SP.ClientContext.get_current();
var currentWeb = currentContext.get_web();
var currentUser = currentContext.get_web().get_currentUser();
currentContext.load(currentUser);
var allGroups = currentWeb.get_siteGroups();
currentContext.load(allGroups);
var group = allGroups.getByName(groupName);
currentContext.load(group);
var groupUsers = group.get_users();
currentContext.load(groupUsers);
currentContext.executeQueryAsync(OnSuccess,OnFailure);
function OnSuccess(sender, args) {
var userInGroup = false;
var groupUserEnumerator = groupUsers.getEnumerator();
while (groupUserEnumerator.moveNext()) {
var groupUser = groupUserEnumerator.get_current();
if (groupUser.get_id() == currentUser.get_id()) {
userInGroup = true;
break;
}
}
OnComplete(userInGroup);
}
function OnFailure(sender, args) {
OnComplete(false);
}
}
function IsCurrentUserHasContribPerms()
{
IsCurrentUserMemberOfGroup("groupa", function (isCurrentUserInGroup) {
if(isCurrentUserInGroup)
{
// The current user is in the [groupa] group!
//set test1326 to admin
(" input [title ='test1326']")。val(" admin");
}
});
}
ExecuteOrDelayUntilScriptLoaded(IsCurrentUserHasContribPerms,'SP.js');
< / script>
("input[title='test1326']").val("admin"); } }); } ExecuteOrDelayUntilScriptLoaded(IsCurrentUserHasContribPerms, 'SP.js'); </script>
有关更多信息,请查看以下主题:
https://sharepoint.stackexchange。 com / questions / 86912 / check-if-user-is-in-a-specified-group
最佳 问候,
Linda 张
这篇关于如果用户是使用JavaScript的组成员,则设置字段值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文