OOB NewForm в диалоге теряет фокус через несколько секунд - PullRequest
1 голос
/ 26 ноября 2011

Работая в SharePoint 2010, с SharePoint Designer 2010, у меня есть DispForm, к которому я добавил DVWP, который отображает отфильтрованное представление другого относительного списка.DVWP имеет ссылку «New», которая открывает NewForm для этого списка в модальном диалоговом окне, используя OpenPopUpPage (http://msdn.microsoft.com/en-us/library/ff410825.aspx).

Через 5–12 секунд, мигающий курсор исчезает из первого элемента управления, и фокус переключаетсяна кнопку «Закрыть». Если пользователь пытался ввести и случайно нажал клавишу «Ввод», когда фокус переключается на кнопку «Закрыть», фон больше не затемняется, и кнопка «Отмена» больше не работает. Формавсе еще отображается на экране, и пользователь может «Сохранить», но модальный режим никогда не исчезнет, ​​пока страница не обновится.

Если пользователь замечает, что модальный режим потерял фокус и щелкнул обратно по форме, всеработает как надо и все хорошо.

Наблюдения:

Когда элемент управления / модал теряет фокус, кнопка «Закрыть» не вызывает событие «Фокусировка»Но $ (document.activeElement) .attr ("значение"), отображаемое в консоли, показывает, что это активный элемент.

Вопросы:

  1. Почему модальный фокус теряется?
  2. У кого-нибудь есть обходной путь Javascript / jQuery для захвата события и установки фокуса на прежнее место?
  3. Альтернативно, что если я заблокирую форму и подождучтобы завершить это изменение фокуса, затем разблокируйте его и установите фокус на первом поле?Идеи?

Ответы [ 3 ]

0 голосов
/ 27 ноября 2011

Просто для того, чтобы я получил некоторые баллы на этом сайте, огорчением стало асинхронное обновление первого мода.Это отвлекало внимание от многослойного модала.

Спасибо JB за ответ!

0 голосов
/ 01 декабря 2011

Я выяснил проблему: DVWP использовал автоматическое обновление с асинхронным обновлением. Это продолжалось каждые 15 секунд, убирая фокус с модального, а затем не возвращая его к последнему элементу управления.

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

0 голосов
/ 26 ноября 2011

У вас могут быть проблемы, если DispForm также является диалоговым окном, и вы открываете модальное с помощью своего скрипта. Похоже, вы получаете «слоистый» эффект. Я предполагаю, что скрипт, управляющий диалогом, мешает модальному. Вы пытались отключить диалоги для списка?

...