Модальный диалог SharePoint 2010 от JSOM не работает - PullRequest
0 голосов
/ 23 ноября 2011

Идея проста: создать страницу веб-части в SP Designer 2010, которая позволяет создавать новый элемент списка, а затем использовать некоторый JavaScript из CSOM, чтобы открыть страницу в модальном диалоговом окне с другой страницы. Проблема в том, что появляется диалоговое окно и на мгновение мигает, что оно загружает контент, но затем оно исчезает, и у меня остается обновленная версия страницы, с которой я только что щелкнул. Вот мой код , .

//attach a click delegate to the table containing the following button(s)
<button type='button' class='ms-listheaderlabel'>Close</button>

//on button clicked event, call the following function
function openModalDialog(dialogPage, closeCallback) {
  var options = [];
  options.title = unescape("Close Ticket");
  options.allowMaximize = true;
  options.showClose = true;
  options.autoSize = true;
  options.url = dialogPage;
  options.dialogReturnValueCallback = Function.createDelegate(null, closeCallback);
  SP.UI.ModalDialog.showModalDialog(options);
};

. , , где dialogPage - это URL для формы, которую я создал (тот же сайт, библиотека SitePages), а closeCallback - анонимная функция, передаваемая для обработки возвращаемого значения из диалога. Я попытался вызвать страницу напрямую, и она загружается просто отлично. Блокировщик всплывающих окон полностью выключен. Используя IE9 и попробовал 8 режим совместимости, а также другую машину с прямой IE8. Системные модалы работают просто отлично. Есть идеи?

1 Ответ

3 голосов
/ 23 ноября 2011

Я сейчас прохожу ту же самую проблему. Что я обнаружил до сих пор, если я использую

<input type="button" value="Try Me" onclick="openModalDialogBox()" />

работает как положено. Но если я использую кнопку asp: чтобы сделать то же самое, это не удастся. Я думаю, что это может быть связано с обратной передачей на сервер, но я могу ошибаться.

Я просто переключаю свои кнопки на входы.

Тим

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...