Попытка добавить текст в форму отображения SharePoint.В настоящее время только возможность добавить в редактировать и новую форму - PullRequest
0 голосов
/ 25 сентября 2019

Я добавляю несколько библиотек JS, чтобы владельцы сайтов SharePoint могли добавлять некоторые функции к своим формам и страницам, ссылаясь на различные сценарии в библиотеках активов.У меня есть один сценарий, который позволяет пользователю вставлять заголовки разделов над любым полем в EditForm и NewForm.

Однако это не работает на DispForm.Пользователь помещает ссылку на сценарий в Редакторе сценариев и передает параметры (Заголовок раздела и поле (чтобы вставить заголовок перед). Моя ссылка выглядит следующим образом:

<script type="text/javascript" data-color="" data-sections="Add New UID Anomally-UID" src="../../SiteAssets/js-enterprise/AddSections.js"></script>

Фактический сценарий в SiteAssets:

$(document).ready(function() {  
  // Get a list of views to turn off the headers
  var this_js_script = $('script[src*=AddSections]');
  var lists = this_js_script.attr('data-sections'); 
  var str_array = lists.split(',');

  var color = this_js_script.attr('data-color'); 
  // over-ride color if there is no value #96c03d
  if (typeof color == 'undefined' || color == null || color == ''){
    color = "#000000";
  }

  for(var n = 0; n < str_array.length; n++) {
    // Trim the excess whitespace.
    str_array[n] = str_array[n].replace(/^\s*/, "").replace(/\s*$/, "");
    // Add additional code here, such as:
    var str2_array = str_array[n].split('-');
    AddSectionBeforeField(str2_array[0],str2_array[1],color);
  }
});

function AddSectionBeforeField(sectionText,fieldName,colorcode){
  var $fieldTR=$(".ms-standardheader nobr:contains('"+fieldName+"')").closest("tr");
  $fieldTR.before("<tr style='background-color:white'><td colspan='2' class='ms-formbody' style='padding:0; color: "+colorcode+";'><div style='font-size:22px;margin-top: 10px;margin-bottom: 10px;font-family: Oswald';'>"+sectionText+"</div></td></tr>");
}

Как я могу заставить это работать для обоих или изменить это, чтобы работать для DispForm?

1 Ответ

1 голос
/ 26 сентября 2019

Форма редактирования и форма отображения различны.

enter image description here

enter image description here

Таким образом, вынужно использовать разные селектор для разных форм.

Ниже jQuery селектор для отображения формы.

 $("h3.ms-standardheader:contains('Current Route Date')");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...