Я использую IE11, JavaScript и SharePoint 2013. Существует главная страница, на которой открывается новая вкладка формы (NewForm.aspx
) для добавления или форма вкладки редактирования (EditForm.aspx
) для редактирования записи.
Когда пользователь сохраняет в новой вкладке формы, он сохраняет данные, обновляет главную страницу и закрывает новую вкладку формы.
Когда пользователь сохраняет на вкладке формы редактирования, он сохраняет данные, обновляет главную страницу, обновляет вкладку формы редактирования и остается на этой записи вкладки формы редактирования.
Это прекрасно работает с кодом, представленным ниже, за исключением случаев, когда пользователь прикрепляет файлы с помощью кнопки «Прикрепить файл» на ленте SP.Он входит в событие «Сохранить щелчок», нажимает window.addEventListener
и пропускает его.По умолчанию пользователь возвращается в список библиотек SP AllItems.aspx
.
Я попытался поместить код только в клик Сохранить, а не в прослушиватель событий beforeunload, но вложение не сохраняется в элементе.
Я попытался захватить событие прикрепления файла($('input[id=attachOKbutton]')
) и добавление прослушивателя перед загрузкой.
Опять же, проблема заключается в том, чтобы сохранить запись и остаться на вкладке EditForm, даже когда пользователь присоединяет файл.
$(function() {
$('input[value=Save]').click(function() {
window.addEventListener("beforeunload", function(event) { //does not go in here if file is attached
var idxForm = location.pathname.indexOf("NewForm.aspx");
if( idxForm >= 0 ) { //NewForm - Saving a new record
window.opener.location.reload(); //Refresh calling page
window.close();
}
var idxForm2 = location.pathname.indexOf("EditForm.aspx")
if( idxForm2 >= 0 ) { //EditForm - Saving an update to a existing record
window.opener.location.reload(); //Refresh calling page
history.go(-1);
location.reload(true);
}
});
});
});
ActualРезультаты: Либо запись сохраняется с вложениями, и пользователь направляется в библиотеку SP AllItems.aspx
ИЛИ пользователь остается на вкладке EditForm.aspx
, но запись не обновляется с добавленным вложением.
Желаемые / ожидаемые результаты:Выполните точно так же, как это происходит, когда пользователь сохраняет без добавления вложений ... Страница вызова обновляется, страница редактирования обновляется, а пользователь остается на странице редактирования.Это должно произойти, когда пользователь также добавляет вложения.