Вложение в списки Sharepoint – очень удобная штука, ведь даже штатными средствами можно вложить сразу несколько. Но вот беда, если вложение надо сделать обязательным – тут штатные средства Sharepoint бессильны. Но и дополнительное кодирование требуется минимальное – только разместить Javascript-код.
Код выглядит вот так:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <script type="text/javascript"> function PreSaveItem() { if(document.getElementById('idAttachmentsRow').style.display=='none') { alert('Не прикреплен файл. Нажмите \"Вложить файл\"'); return false; } else { return true; } } </script> |
Код переопределяет функцию PreSaveItem(), которая вызывается при нажатии кнопки Сохранить при создании элемента списка. Если файл не вложили, то будет выдано сообщение о необходимости это сделать.
Разместить код можно как минимум двумя способами:
1. В веб-части на странице (быстрый)
2. С помощью Sharepoint Designer (предпочтительный)
В первом случае нужно нажать "Действия сайта" – "Изменить страницу" и добавить веб-часть "Редактор содержимого" на страницу. Разумеется, код добавить через Html-код, а не в визуальный редактор.
Во втором случае нужно открыть свойства списка и открыть для редактирования файл AddItem.aspx (или NewForm.aspx – форму для ввода нового элемента списка). Нужно нажать правой кнопкой на форму и выбрать "Изменить в расширенном режиме" (Рис.1), перейти в режим просмотра "Код". Вставить код рекомендую в контейнере
Результат того, что пользователь забыл вложить файл – сообщение об ошибке на Рис.3.
Результат добавления такого скрипта — при создании элемента в списке: возникла неожиданная ошибка…
Комментарий by Elnov — 15.02.2021 @ 12:13
Уточните пожалуйста — какая именно ошибка? Очень может быть, то ошибка связана с версией jQuery
Комментарий by Alexey — 10.03.2021 @ 10:51