javascript - JS 不自动填充 SharePoint 用户
问题描述
我已经包含了一段似乎没有按照我想要的方式执行的代码。在过去,我已经能够使用它来根据 SharePoint 中的用户名自动填充名称。没有明显的错误,脚本中的其他所有内容都运行良好,而且看起来确实如此,只是没有达到预期的效果。
function getWebUserData() {
context = new SP.ClientContext.get_current();
web = context.get_web();
currentUser = web.get_currentUser();
currentUser.retrieve();
context.load(web);
context.executeQueryAsync(Function.createDelegate(this, this.onSuccessMethod),
Function.createDelegate(this, this.onFailureMethod));
}
function onSuccessMethod(sender, args) {
var userObject = web.get_currentUser();
$("input[Title='Requester']").val(userObject.get_title());
$("input[Title='Requester']").attr('disabled','disabled');
}
解决方案
下面的代码适用于我的本地 SharePoint 2013。引用的线程
<script type="text/javascript" src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script type="text/javascript">
$(document).ready(function () {
function GetCurrentUser() {
var requestUri = _spPageContextInfo.webAbsoluteUrl + "/_api/web/currentuser";
var requestHeaders = { "accept": "application/json;odata=verbose" };
$.ajax({
url: requestUri,
contentType: "application/json;odata=verbose",
headers: requestHeaders,
success: onSuccess,
error: onError
});
}
function onSuccess(data, request) {
var userName = data.d.LoginName;
//parse the value.
userName = userName.toString().split("i:0#.w|")[1];
SetUserFieldValue("Requester", userName);
}
function onError(error) {
//alert(error);
}
function SetUserFieldValue(fieldName, userName) {
var _PeoplePicker = $("div[title='" + fieldName + "']");
var _PeoplePickerTopId = _PeoplePicker.attr('id');
var _PeoplePickerEditer = $("input[title='" + fieldName + "']");
_PeoplePickerEditer.val(userName);
var _PeoplePickerOject = SPClientPeoplePicker.SPClientPeoplePickerDict[_PeoplePickerTopId];
_PeoplePickerOject.AddUnresolvedUserFromEditor(true);
}
GetCurrentUser();
});
</script>
推荐阅读
- c - Flex中文字内的多行匹配
- excel - 这是什么日期格式:YYYYMMDDTHHMISS
- java - 如何将字符数组的元素与字符串的字母进行比较
- ubuntu-16.04 - Openlink Virtuoso 在 ubuntu 16.04 上将 6.x 升级到 7.x
- php - 获取按多对多关系过滤的 Laravel 模型
- html - 图片旁边的文字
- ruby-on-rails - 是否可以直接将此文件保存到 ActiveStorage?
- php - wordpress 上的图像生成表单
- python - 用于回归的 Python Ensemble VotingClassifier
- javascript - angularjs - 导入 angular.js 后的 javascript 代码不起作用