Monday, April 12, 2010

How to Populate Current Username in Sharepoint Designer

Question - How can I pre-populate current logged in Username in People picker in Sharepoint designer custom form?

Solution - Paste followng Javascript code in designer... This will work for first people picker control that it finds on the form...

_spBodyOnLoadFunctionNames.push("fillDefaultValues");
function fillDefaultValues() { fillPeoplePickerWithCurrentUser();}
function fillPeoplePickerWithCurrentUser(){ //get the current user from the welcome menu var currentUser = getCurrentUser();
//check to see that we've got it if(currentUser != null) { //get the people pickers input div var pp = getPickerInputElement(); //set it to the current user if we've found it if(pp != null) { //see if it's already set as we don't want to override when editing an item //if it's already set then the people picker element will contain a SPAN element for the resolved entity var spans = pp.getElementsByTagName('SPAN'); if(spans.length == 0) pp.innerHTML = currentUser; } }}
function getCurrentUser(){ var tags = document.getElementsByTagName('a'); for (var i=0; i < result = "" divs =" document.getElementsByTagName(" i="0;" id="=" innerdivs =" divs[i].getElementsByTagName(" k="0;"> 0) { result = innerDivs[k]; break; } } } } return result;}