Первое спасибо «Верона Чен» и «DIEGO CARRASCAL» из-за того, что я узнал еще несколько трюков в SharePoint, которые помогут в других проектах.
Мой оригинальный сценарий, прежде чем вопрос пытается использовать строку запроса для заполнения поля в NewForm.aspx (который я сделал на 2013 SharePoint с кодом я нашел здесь)
Unforuntaly с Sharepoint Online/365 Этот код больше не работает.
Этот код зафиксировал мою проблему (хотя это изменится, как построены несколько предыдущих страниц)
извинения, если это не прямо ответить на поставленный выше вопрос (как это было мне пытается пробое общий вопрос я было во что-то более простое и легкое в обращении, основанное на том, что я сужу проблему в своем исходном коде), однако, поскольку я сейчас запущен, кажется, что только вежливо вывести результат.
До кода у меня есть список проектов с полем «Имя_проекта». Я отправил имя поля в URL-адрес и запрос для получения mylist/newform.aspx? ProjectName = Test2
Затем я пытался вытащить этот Test2 в поле поиска (понравилось списку проектов) «ProjectName» в list "MyList"
Но даже при загрузке функции для моего старого скрипта с _spBodyOnLoadFunctionNames.push() он не работал.
После игры с этим некоторое время и после некоторых поисков я нашел peice кода
<script type="text/javascript">
(function() {
var ctx = {};
ctx.Templates = {};
ctx.Templates.Fields = {
'ProjectName': {
'NewForm': renderTaskCategory
}
};
SPClientTemplates.TemplateManager.RegisterTemplateOverrides(ctx);
})();
function renderTaskCategory(ctx) {
//extract cat parameter from a query string
var GetProjID = GetUrlKeyValue('ProjID');
//set lookup field value
ctx.CurrentFieldValue = GetProjID;
//default template for rendering Lookup field control
return SPFieldLookup_Edit(ctx);
}
</script>
Это означает, что я должен изменить мой предыдущий URL строит для создания MyList/NewForm.aspx? Projíd = 2
Этот скрипт находит идентификатор элемента 2 (что случается быть test2 в данном случае) и помещает название пункта 2 в моем поле поиска Projectname
Еще раз спасибо тем, кто помог ранее. И снова приношу свои извинения, если это прямо не отвечает на вопрос, который я изначально задал.
Созданы ли '$ (" select [title = 'Phase'] ")' динамически или при загрузке страницы? –
Я верю, что когда страница загружается, не слишком уверен, скрипт добавляется через веб-часть редактора сценариев для sharepoint или веб-часть редактора содержимого, которая ссылается на файл txt, содержащий скрипт. Я попробовал сценарий с – Paul
. Если они создаются после загрузки DOM (они не являются частью исходного DOM, вы должны обращаться к ним как '$ (document) .find (" select [title = 'Phase '] "). val (« Closure »);' $ (document) позволяет вам взаимодействовать с загруженным DOM. –