- PVSM.RU - https://www.pvsm.ru -
var field = new Igotta.StandartListFormsUtility.ListField('Title');
field.setValue('TEST');
JavaScript библиотека SPListFormUtility предназначена для управления стандартными формами списков SharePoint 2010 и SharePoint 2013:
SPListFormUtility может:
Сейчас поддерживаются следующие типы полей:
Основные характеристики:
1. Скачать библиотеку с CodePlex — splistformutility.codeplex.com [1]
2. Подключить на нужную страницу (NewForm.aspx, DispForm.aspx или EditForm.aspx):
— JS-библиотеку jQuery
— и загруженный файл igotta.sharepoint.standartlistformutility.js
Примечание.
Для подключения JS-файлов можно разместить на странице стандартную веб-часть SimpleFormWebPart. SimpleFormWebPart позволяет выводить любой HTML-код, в том числе и ссылки на JS-файлы. Разместить веб-часть можно вручную или кодом (.Net или JavaScript). В SharePoint 2010 можно “зашить” SimpleFormWebPart прямо в List Definition.
Примеры:
3. Добавить на страницу JS-код:
var sharePointReady = function() {
// Title - это internal название поля
var field = new Igotta.StandartListFormsUtility.ListField('Title');
field.setValue('TEST');
};
$(document).ready(function () {
SP.SOD.executeFunc('sp.js', 'SP.ClientContext', function () { sharePointReady(); });
});
Для примеров ниже используется поле типа SPFieldText, однако все они применимы и для других типов полей (см. документацию на CodePlex).
// 'Title' - internal название поля
var field = new Igotta.StandartListFormsUtility.ListField('Title');
// установить значение поля
field.setValue('TEST');
// получить значение поля
alert(field.getValue());
// спрятать всю строку
field.hide();
// спрятать контрол
field.hideDefaultControl();
// сделать не активным
field.disable();
// раскрасить ячейку контрола
var fieldTd = field.getCol();
$(fieldTd).css('background-color', 'red');
// раскрасить контрол
var fieldControl = field.getControl();
$(fieldControl).css('background-color', 'green');
// получить intrnal название поля
alert(field.getName());
// получить тип поля, для данного примера вернет 'SPFieldText'
alert(field.getType());
Для SPFieldLookupMulti полей сейчас реализован только один метод, который позволяет оставить пользователю для выбора только нужные элементы.
// 'LookupMulti' - internal название поля
var field = new Igotta.StandartListFormsUtility.ListField('LookupMulti');
// в вариантах выбора остануться только элементы с заданными идентификаторами
field.filterLookupMulti([1, 2, 6]);
Библиотека дописывается по мере необходимости. Текущая реализация использовалась в 4-х серьезных проектах и вполне стабильна.
Автор: Alex_BBB
Источник [4]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/javascript/21432
Ссылки в тексте:
[1] splistformutility.codeplex.com: https://splistformutility.codeplex.com
[2] Как добавить на страницу web-часть с помощью JS: http://alexeybbb.blogspot.com/2012/11/sharepoint-add-webpart-via-javascript.html
[3] Как “зашить” web-часть в List Definition (см. раздел Default Form Construction): http://www.codeproject.com/Articles/223431/Custom-SharePoint-List-Forms
[4] Источник: http://habrahabr.ru/post/160775/
Нажмите здесь для печати.