Пример ниже для справки:
1.Создайте пользовательский список, добавьте поле «Персона» или «Группа» «loggedonuser», добавьте поле «Да / Нет» «IMORole» (значение по умолчанию - «Нет»).
2.Добавьте приведенный ниже код в веб-часть редактора сценариев в файле editform.aspx.
<script src="//code.jquery.com/jquery-3.2.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
var loggedonuser=$("input[name^='loggedonuser'][name$='ClientPeoplePicker_HiddenInput']").val();
if(loggedonuser.indexOf("i:0#.w|mickey.mouse")!=-1){
$("input[title='IMORole']").prop('checked', true);
}
});
</script>
Чтобы получить текущее имя пользователя, мы также можем использовать REST API для его достижения.
<script src="//code.jquery.com/jquery-3.2.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
var userid = _spPageContextInfo.userId;
var loginName=getUserLoginName(userid);
if(loginName=="i:0#.w|mickey.mouse"){
$("input[title='IMORole']").prop('checked', true);
}
});
function getUserLoginName(userId){
var requestUri = _spPageContextInfo.webAbsoluteUrl + "/_api/web/getuserbyid(" + userId + ")";
// execute AJAX request
$.ajax({
url: requestUri,
type: "GET",
async: false,
headers: { "ACCEPT": "application/json;odata=verbose" },
success: function (data) {
loginName=data.d.LoginName;
},
error: function () {
}
});
return loginName;
}
</script>