If you want to current user name in the people picker of sharepoint list form
Here is a simple javascipt to get your current user in your sharepoint people picker control
Steps:
1. Just add content editor webpart.Refer How to add CEWP
2. Copy below script and paste in the HTML of your CEWP
3. Change picker number based on your list form.Picker Number is the number of your People Picker control from the top.If only one PP is there than Picker Number is always 1
<script type="text/javascript">
ExecuteOrDelayUntilScriptLoaded(GetUserLoginName, "sp.js");
function GetUserLoginName() {
context = new SP.ClientContext.get_current();
web = context.get_web();
this._currentUser = web.get_currentUser();
context.load(this._currentUser);
context.executeQueryAsync(Function.createDelegate(this, this.onSuccessMethod),
Function.createDelegate(this, this.onFailureMethod));
}
function onSuccessMethod(sender, args) {
alert('Name:' + this._currentUser.get_title() + '\n Login:' + this._currentUser.get_loginName());
AddCurrentUserToPP(this._currentUser.get_title());
}
function onFaiureMethod(sender, args) {
alert('request failed' + args.get_message() + '\n' + args.get_stackTrace());
}
function AddCurrentUserToPP(LoginName) {
var pickerNo = 1;
// Change pickerNo based on your list form if there are 3 PP in your form and you want the current user in 3rd one than pickerNo value will be 3
var pp = getPickerImputElement(pickerNo);
if (pp != null) {
pp.innerHTML = LoginName;
}
}
function getPickerImputElement(pickerNo) {
var result = '';
var divs = document.getElementsByTagName('DIV');
var j = 0;
for (var i = 0; i < divs.length; i++) {
if (divs[i].id.indexOf('UserField_upLevelDiv') > 0) {
j++;
if (j == pickerNo) {
result = divs[i];
break;
}
}
}
return result;
}
</script>
Note: This is only usefull if you want Current user in one PP only...:(
Here is a simple javascipt to get your current user in your sharepoint people picker control
Steps:
1. Just add content editor webpart.Refer How to add CEWP
2. Copy below script and paste in the HTML of your CEWP
3. Change picker number based on your list form.Picker Number is the number of your People Picker control from the top.If only one PP is there than Picker Number is always 1
<script type="text/javascript">
ExecuteOrDelayUntilScriptLoaded(GetUserLoginName, "sp.js");
function GetUserLoginName() {
context = new SP.ClientContext.get_current();
web = context.get_web();
this._currentUser = web.get_currentUser();
context.load(this._currentUser);
context.executeQueryAsync(Function.createDelegate(this, this.onSuccessMethod),
Function.createDelegate(this, this.onFailureMethod));
}
function onSuccessMethod(sender, args) {
alert('Name:' + this._currentUser.get_title() + '\n Login:' + this._currentUser.get_loginName());
AddCurrentUserToPP(this._currentUser.get_title());
}
function onFaiureMethod(sender, args) {
alert('request failed' + args.get_message() + '\n' + args.get_stackTrace());
}
function AddCurrentUserToPP(LoginName) {
var pickerNo = 1;
// Change pickerNo based on your list form if there are 3 PP in your form and you want the current user in 3rd one than pickerNo value will be 3
var pp = getPickerImputElement(pickerNo);
if (pp != null) {
pp.innerHTML = LoginName;
}
}
function getPickerImputElement(pickerNo) {
var result = '';
var divs = document.getElementsByTagName('DIV');
var j = 0;
for (var i = 0; i < divs.length; i++) {
if (divs[i].id.indexOf('UserField_upLevelDiv') > 0) {
j++;
if (j == pickerNo) {
result = divs[i];
break;
}
}
}
return result;
}
</script>
Note: This is only usefull if you want Current user in one PP only...:(
No comments:
Post a Comment