Sharepoint 2013 Javascript客户端PeoplePicker默认值文本

Sharepoint 2013 Javascript客户端PeoplePicker默认值文本,javascript,jquery,sharepoint,Javascript,Jquery,Sharepoint,我正在sharepoint 2013中编写一个表单,通过javascript捕获表单并提交。在大多数情况下,一切都正常。但是,对于ClientPeoplePicker,当我获取值时,它会返回“输入姓名或电子邮件”行以及我的值。很容易解析出来,但仍然很烦人,因为我觉得它不应该这样工作 可悲的是,我没有像其他在线用户那样获得价值,因为“ClientPeoplePicker”从未出现在我呈现的代码id中。我不知道为什么。所以我只能靠标题来获得它 函数格式UserArrayForSharePoint(

我正在sharepoint 2013中编写一个表单,通过javascript捕获表单并提交。在大多数情况下,一切都正常。但是,对于ClientPeoplePicker,当我获取值时,它会返回“输入姓名或电子邮件”行以及我的值。很容易解析出来,但仍然很烦人,因为我觉得它不应该这样工作

可悲的是,我没有像其他在线用户那样获得价值,因为“ClientPeoplePicker”从未出现在我呈现的代码id中。我不知道为什么。所以我只能靠标题来获得它

函数格式UserArrayForSharePoint(选择器){
var用户=[];
$。每个(选择器、功能(i、v){
var html=$.parseHTML(v.outerHTML);
var用户名=“”;
if($(html[0]).text().indexOf('输入名称')!=-1)
用户名=$(html[0]).text(0.substring(32,$(html[0]).text().length-1);
else用户名=$(html[0]).text();
push(SP.FieldUserValue.fromUser(username));
});
返回用户;
}
//填写要添加到列表中的变量
field1=格式用户数组用于共享点($(“div[title='ascpp']);
oListItem.set_项('field1',field1);
//etc

答案似乎是去掉不需要的字符。

您需要获取SharePoint客户端人员选取器更改事件的选取器id。我使用
OnUserResolvedClientScript
获得了相同的id,如下所示。要获取选取器div,我遵循了通过人员选取器文本框获取它的方法
id
标题名
,您可以通过检查元素来获取。将下面的代码放入
$(文档)。就绪
函数。快乐编码

SP.SOD.executeFunc('clientpeoplepicker.js', 'SPClientPeoplePicker', function() {
var pickerDiv = $("[id^='Employee_x0020_Name'][title='Employee Name']");
var picker = SPClientPeoplePicker.SPClientPeoplePickerDict[pickerDiv[0].id];
 picker.OnUserResolvedClientScript = function(peoplePickerId, selectedUsersInfo) {
  //It will get the desired display name of the people from picker div, similarly any other property can be accessed via selectedUsersInfo
    var empname = selectedUsersInfo[0].DisplayText;
     console.log(empname);
   }
});

这是我不久前使用的一个js函数,请尝试使用函数SetPeoplePickerValue(fieldName,userAccountName){var peoplePickerDiv=jQuery(“[spclientpeoplepicker='true']][title=”+fieldName+“]”);var peoplePickerEditor=peoplePickerDiv.find(“[title=”+fieldName+“]”);var spPeoplePicker=SPClientPeoplePicker.SPClientPeoplePickerDict[peoplePickerDiv[0].id];peoplePickerEditor.val(userAccountName);spPeoplePicker.addUnsolvedUserFromEditor(true);};