javascript - 获取用户组长并设置输入字段的值
问题描述
首先 - 我使用的是一个空的 SharePoint 网站。
我想找用户组长,然后把它作为输入[type=text]的值。
<span>
<label for="emailaddress">E-Mail:</label>
<input type="email" id="emailaddress" name="emailaddress" maxlength="120" size="50" required>
</span>
<span>
<label for="teamLeader">Team Leader:</label>
<input type="text" id="teamLeader" name="teamLeader" maxlength="120">
</span>
我这样做是为了获取用户的电子邮件地址并自动将其写入输入字段电子邮件地址,但我不知道是否有这样的事情可以让负责人。
useremail = data.d.Email; $("#emailaddress").val(useremail);
解决方案
如果我理解正确,您想让作为 SharePoint 人员控制的人员输入,您可以使用客户端人员选择器。
CustomPeoplePicker:
<div id="peoplePickerDiv"></div>
<script type="text/javascript">
$(document).ready(function () {
SP.SOD.executeFunc('sp.js', 'SP.ClientContext', sharePointReady);
})
function sharePointReady() {
context = new SP.ClientContext.get_current();
web = context.get_web();
var schema = {};
schema['PrincipalAccountType'] = 'User,DL,SecGroup,SPGroup';
schema['SearchPrincipalSource'] = 15;
schema['ResolvePrincipalSource'] = 15;
schema['AllowMultipleValues'] = true;
schema['MaximumEntitySuggestions'] = 50;
schema['Width'] = '280px';
var userIDs = "20;43";
var userObjects = [];
var userIDsSplit = userIDs.split(";");
var DeferredCheck = 0;
getUsers(context, userIDsSplit).done(function (_Users) {
for (i = 0; i < _Users.length; i++) {
var defaultUser = new Object();
defaultUser.AutoFillDisplayText = _Users[i].get_title();
defaultUser.AutoFillKey = _Users[i].get_loginName();
defaultUser.Description = _Users[i].get_email();
defaultUser.DisplayText = _Users[i].get_title();
defaultUser.EntityType = "User";
defaultUser.IsResolved = true;
defaultUser.Key = _Users[i].get_loginName();
defaultUser.Resolved = true;
userObjects.push(defaultUser);
DeferredCheck++;
if (DeferredCheck == userIDsSplit.length) {
SPClientPeoplePicker_InitStandaloneControlWrapper('peoplePickerDiv', userObjects, schema);
}
}
})
}
function getUsers(context, userIDs) {
var dfd = $.Deferred(function () {
var users = [];
for (j = 0; j < userIDs.length; j++) {
user = context.get_web().get_siteUsers().getById(userIDs[j]);
context.load(user);
users.push(user);
}
context.executeQueryAsync(
function () {
dfd.resolve(users);
}),
function () {
dfd.reject(args.get_message());
};
});
return dfd.promise();
}
</script>
推荐阅读
- php - 使用刀片模板上传 Laravel 图像文件
- ubuntu-18.04 - 在 Ubuntu 18 上为 Snowflake 安装 unixODBC 驱动程序...测试连接时出错
- typescript - 当我将类型验证代码移动到外部函数时,Typescript 报告错误“类型上不存在属性”
- javascript - 在 open-wc 测试中使用 sinon 存根点燃元素方法
- c - CLion 说“进程以退出代码 127 完成”
- presto - 如何在 Presto 中并行执行多个数组 unnest()
- javascript - NextJS 构建破坏 @material-ui/core 和 react-bootstrap 导入
- python - 收集推特数据集
- android - 不能与 ListFragment 中的自定义内容视图一起使用
- c# - 使用 .NET CORE 和 EF 从 165 个具有 30 种不同数据库架构的数据库中获取用户列表