Как поле Lookup with Picker сделать ReadOnly (проект iLoveSharePoint.Fields.LookupFieldWithPicker.wsp)
LookupWithPicker:
{
MakeReadOnly: function(FieldDisplayName){
var tr=mgfUtils.GetFormTRbyTitle(FieldDisplayName) ;
var inputs = tr.cells[1].getElementsByTagName("input");
var founditem;
for(var i = 0; i < inputs.length; i++) {
if(inputs[i].name.indexOf('HiddenEntityDisplayText') > 0) {
founditem=inputs[i];
}
}
if(founditem!=null)
{
var NewControlName=mgfUtils.trimSpaceFromString(FieldDisplayName) + '_MakeLookupWithPickerReadOnly';
var exist = document.getElementById(NewControlName);
if(!exist)
{
var div = document.createElement('div');
div.id= NewControlName;
div.className = "div_class";
var labelvalue=founditem.value;
var label = document.createTextNode(labelvalue);
div.appendChild(label);
founditem.parentNode.insertBefore(div, founditem.parentNode.firstChild);
tr.cells[1].getElementsByTagName("table")[0].style.display = 'none';
}
}
}
}
Используем так:
mgfUtils.LookupWithPicker.MakeReadOnly('1. Классификация / Замечание');
Было:
Стало:
Дополнительно нужно будет:
GetFormTRbyTitle:function(title){
var tags = document.getElementsByTagName('td');
for (var i = 0; i < tags.length; i++) {
if (tags[i].className == "ms-formlabel" && tags[i].outerHTML.indexOf(title) != -1) {
return tags[i].parentNode;
break;
}
}
}