code_junkie

How to get a SharePoint-UserField with JavaScript?

Nov 13th, 2011
335
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.69 KB | None | 0 0
  1. // Get values
  2. var ctx='ctl00_m_g_e5a1501a_..._ctl04_ctl00_ctl00_UserField';
  3. var values=getUplevel(ctx);
  4. alert(values);
  5.  
  6. // Set values
  7. var xml='<Entities Append="False" Error="" Separator=";" MaxHeight="3">'+
  8. '<Entity Key="DOMAIN\loginname" DisplayText="Display Name" IsResolved="True" Description="DOMAIN\loginname">'+
  9. '<ExtraData>'+
  10. '<ArrayOfDictionaryEntry xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">'+
  11. '<DictionaryEntry><Key xsi:type="xsd:string">DisplayName</Key><Value xsi:type="xsd:string">Display Name</Value></DictionaryEntry>'+
  12. '<DictionaryEntry><Key xsi:type="xsd:string">Email</Key><Value xsi:type="xsd:string">[email protected]</Value></DictionaryEntry>'+
  13. '<DictionaryEntry><Key xsi:type="xsd:string">SPUserID</Key><Value xsi:type="xsd:string">1</Value></DictionaryEntry>'+
  14. '<DictionaryEntry><Key xsi:type="xsd:string">PrincipalType</Key><Value xsi:type="xsd:string">User</Value></DictionaryEntry>'+
  15. '</ArrayOfDictionaryEntry>'+
  16. '</ExtraData>'+
  17. '<MultipleMatches />'+
  18. '</Entity>'+
  19. '</Entities>';
  20. EntityEditorCallback(xml,ctx);
  21.  
  22. function getParentElementByTagName(baseNode, tagName)
  23. {
  24. var currNode;
  25.  
  26. if(baseNode !== null)
  27. {
  28. currNode = baseNode.parentNode;
  29.  
  30. while((currNode !== null) && (currNode.nodeName != tagName))
  31. {
  32. currNode = currNode.parentNode;
  33. }
  34.  
  35. return currNode;
  36. }
  37. else
  38. {
  39. return null;
  40. }
  41. }
  42.  
  43. function getPeoplePickerCell(columnName)
  44. {
  45. var search = 'FieldName="' + columnName + '"';
  46.  
  47. var nodes = document.getElementsByTagName("TEXTAREA");
  48.  
  49. for(var i=0; i < nodes.length; i++)
  50. {
  51. if(nodes[i].title == "People Picker")
  52. {
  53. var outerCell = getParentElementByTagName(nodes[i], "SPAN").parentNode.parentNode;
  54.  
  55. if(outerCell.innerHTML.indexOf(search) > 0)
  56. {
  57. return nodes[i].parentNode;
  58. }
  59. }
  60. }
  61.  
  62. return null;
  63. }
  64.  
  65. function getSPPeoplePicker(columnName, value)
  66. {
  67. var cell = getPeoplePickerCell(columnName);
  68.  
  69. if(cell !== null)
  70. {
  71. return cell.childNodes[0].innerHTML;
  72. }
  73. else
  74. {
  75. return null;
  76. }
  77. }
  78.  
  79. function setSPPeoplePicker(columnName, value)
  80. {
  81. var cell = getPeoplePickerCell(columnName);
  82.  
  83. if(cell !== null)
  84. {
  85. cell.childNodes[0].innerHTML = value;
  86. cell.childNodes[1].value = value;
  87. }
  88. }
  89.  
  90. function disableSPPeoplePicker(columnName)
  91. {
  92. var cell = getPeoplePickerCell(columnName);
  93.  
  94. if(cell !== null)
  95. {
  96. disableElement(cell.childNodes[0]);
  97. disableElement(cell.childNodes[1]);
  98. }
  99. }
  100.  
  101. function enableSPPeoplePicker(columnName)
  102. {
  103. var cell = getPeoplePickerCell(columnName);
  104.  
  105. if(cell !== null)
  106. {
  107. enableElement(cell.childNodes[0]);
  108. enableElement(cell.childNodes[1]);
  109. }
  110. }
Add Comment
Please, Sign In to add comment