2015-07-24 3 views
1

Я пытаюсь использовать Javascript CSOM для выполнения нескольких действий из формы отображения элементов пользовательского списка. Цель состоит в том, чтобы в форме появилась кнопка, которая создаст дочерний узел на основе данных столбца отображаемого элемента, а затем добавит веб-части на страницу «приборной панели» на странице сайта верхнего уровня.Sharepoint 2013 CSOM получить свойства объекта из формы пользовательского списка вида

Я добавил веб-часть редактора сценариев в форму отображения и создал функции, которые успешно создают дочерний узел и добавляют веб-части при выполнении вручную с консоли браузера, поэтому теперь я пытаюсь собрать все это вместе и начните захватывать данные из элемента списка, отображаемого в форме. У меня возникли проблемы с поиском методов/свойств CSOM, которые отображают текущий просматриваемый элемент. Я видел ссылки на имущество

_spPageContextInfo.pageListId 

, который, как представляется, имеет хорошее значение для списка я, глядя на, но не отображаются не связанные свойств для самого элемента. Я также не видел хороший способ прямого захвата данных из элементов формы на странице.

Я знаю, что ListItemID присутствует где-то, так как это прямо в URL, как

DispForm.aspx?ID=5 

, но я действительно не хочу, чтобы сделать какой-то Hacky RegEx на URL, если я могу избежать этого. Есть ли какое-то свойство контекста страницы, которое даст мне идентификатор списка или свойства отображаемого элемента?

+0

это. Помогите? http://blah.winsmarts.com/2013-2-_sppagecontextinfo_is_your_new_best_friend.aspx – WhiteHat

ответ

0

Я не уверен, если есть встроенный метод, чтобы получить идентификатор, но есть способ SharePoint для получения параметров URL (т.е. без регулярных выражений «повозки, запряженные волов»)

GetUrlKeyValue("ID"); 

к сожалению, MSDN не имеет хорошую ссылку для этого метода, но некоторые блоги имеют какой-то хорошее покрытие

https://praneethmoka.wordpress.com/2012/01/12/some-useful-javascript-variablesfunctions-in-sharepoint/

GetUrlKeyValue() - это функция javascript, с помощью которой мы можем получить параметр строки запроса либо с URL-адреса в браузере, либо с URL-адресом, который мы укажем .

параметр (строка): параметр строки запроса из URL-адреса.

noDecode (bool): указывает, должно ли оно быть закодировано или нет. Если false, значение декодируется, иначе возвращается как есть (необязательно)

URL (строка):. URL-адрес, с которого строки запроса значения должны быть извлечены (необязательно)

+0

Это выглядит великолепно. Я тестировал функции с искаженным строковым поиском и нервничал, но это похоже на хороший компромисс. Благодаря! –

+0

@AndrewS рад, что это помогло. Есть и другие доступные параметры. Я обновил свой ответ – jasonscript

0

использование _spPageContextInfo.pageItemId

+0

К сожалению, похоже, что свойство pageItemId недоступно для списка, с которым я работаю. Он возвращает undefined с консоли, по крайней мере. –

+0

Вы можете изменить страницу вообще? или просто веб-частей? – WhiteHat