in

vbCity Blogs

New (temp) place for vbCity Blogs

Andy Bonner's Blog

My SharePoint titbits and other things that take my fancy.

November 2008 - Posts

  • Set SharePoint PeoplePicker Field mark 2

    Here's  an updated version of my PeoplePicker filling script that now uses the position of the  people picker rather than the field name to allow you to fill multiple people pickers easily.

    Note : If you tried my code & couldn't get it to work, it's because square brackets weren't displaying on this site so I've had to put a space after the integer when getting the value from the array to get it to show here.

     

    <script type="text/javascript">
    _spBodyOnLoadFunctionNames.push("fillDefaultValues");
    
    
    function fillDefaultValues()
    {
        //fill the  first people picture
     fillPeoplePickerWithCurrentUser(1);
     //fill th esecond people picker
     fillPeoplePickerWithCurrentUser(2);
    }
    
    
    function fillPeoplePickerWithCurrentUser(pickerNo)
    {
     var currentUser = getCurrentUser();
    
    
     if(currentUser != null)
     {
      var pp = getPickerImputElement(pickerNo);
      
      if(pp != null)
      {
       pp.innerHTML = currentUser;
      }
     }
    }
    
    
    
    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;
    }
    
    
    function getCurrentUser()
    {
     var tags = document.getElementsByTagName('a');
     for(var i=0; i < tags.length; i++)
     {
      if(tags[i ].innerText.substr(0,7) == 'Welcome')
       return tags[i ].innerText.substr(8,tags[i ].innerText.length);
     }
    }
    </script>
    
    
     
    

Copyright 1998-2009 vbCity.com LLC
Powered by Community Server (Non-Commercial Edition), by Telligent Systems