2016-04-04 21 views
0

Formunu javascript ile gönderen ve gönderen form 2013'te yazıyorum. Her şey, çoğunlukla çalışır. Ancak, ClientPeoplePicker ile, değeri aldığımda, değerin yanı sıra "Bir ad veya e-posta adresi girin" satırını döndürür. Ayrışmak için yeterince kolay, ama hala bu şekilde çalışmamalı gibi hissediyorum can sıkıcı.Sharepoint 2013 Javascript ClientPeoplePicker varsayılan değer metni

Maalesef, değeri herkesin çevrimiçi olduğu şekilde almıyorum çünkü "ClientPeoplePicker" asla işlenmemiş kod kimliğimde görünmüyor. Neden olduğuna dair hiçbir fikrim yok. Bu yüzden sadece başlık ile almak zorundayım.

function formatUserArrayForSharePoint(selector) { 
 
    var users = []; 
 
    $.each(selector, function (i, v) { 
 
    var html = $.parseHTML(v.outerHTML); 
 
    var username = ''; 
 
    if ($(html[0]).text().indexOf('Enter a name') !== -1) 
 
     username = $(html[0]).text(0.substring(32, $(html[0]).text().length - 1); 
 
    else username = $(html[0]).text(); 
 
    users.push(SP.FieldUserValue.fromUser(username)); 
 
    }); 
 
    return users; 
 
} 
 

 
//fill the variable to add to list 
 
field1 = formatUserArrayForSharePoint($("div[title='ascpp'])); 
 
oListItem.set_item('field1', field1); 
 
//etc
<SharePoint:ClientPeoplePicker 
 
    AllowMultipleEntities="false" 
 
    runat="server" Title="ascpp" 
 
    ID="field1" AllowEmailAddresses="True" />

benim kod oluşturulduğunda diğer örneklerdir gibi id hiçbir biçim yoktur, daha önce söylediğim gibi. başkalarının kullanması ne

Örnek: Benim render kod

var pickerDiv = $("[id$='ClientPeoplePicker'][title='" + dispTitle + "']");

Örnek (bütün bırakma olayı):

<div id="ct100_PlaceHolderMain_field1_TopSpan" class="sp-peoplepicker-topLevel" title="ascpp" spclientpeoplepicker="true"> 
 
    <!-- other stuff that is too much to type --> 
 
</div>

+0

Bu, bir süre önce kullanılan bir js fonksiyonudur, bir deneyin 'fonksiyonu SetPeoplePickerValue (fieldName, UserAccountName) elde { var peoplePickerDiv = JQuery ("[spclientpeoplepicker = 'gerçek'] [başlıktaki = '" + fieldName +" '] "); var peoplePickerEditor = peoplePickerDiv.find ("[title = '" + alanAdı + "']"); var spPeoplePicker = SPClientPeoplePicker.SPClientPeoplePickerDict [peoplePickerDiv [0] .id]; peoplePickerEditor.val (userAccountName); spPeoplePicker.AddUnresolvedUserFromEditor (true); }; ' – Shawn

cevap

0

Bir Cevap, sadece gereksiz karakterleri çıkarmaktır. Yürü be.

İlgili konular