如果用户是使用JavaScript的组成员,则设置字段值 [英] Set field value if user is member of group using JavaScript

查看:44
本文介绍了如果用户是使用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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆