2010-07-13 1 views
0

Я использую JQModal на странице ASP.Net в двух разных режимах. Для некоторых модалов я показываю содержимое Inline со страницы. Для других модалов я использую атрибут AJAX в JQModal для отображения содержимого с внешней страницы. Я нахожу, что эти два режима, похоже, противоречат друг другу. Например, если я открываю мода AJAX на странице, выполняю некоторые действия и закрываю, а затем открываю один из встроенных модалов на странице, выполняю некоторые действия, а затем пытаюсь закрыть, я получаю странные ошибки JQuery/JQModal javascript такие как:Проблема JQModal с использованием как Inline, так и AJAX-модалов на одной странице

Microsoft JScript runtime error: 'a' is null or not an object 

-или-

Microsoft JScript runtime error: 'h' is null or not an object 

Если, пока я на странице я использую инлайн модальности исключительно, все работает отлично. Но как только я открываю и закрываю один из модалов AJAX, я начинаю видеть ошибки сценариев, возникающие из операций в нормальных моделях Inline, которые обычно работают. Это похоже на то, что что-то переустанавливается, когда модальные AJAX открываются, и мне еще предстоит понять, что происходит и как его исправить.

Все мои модалы подключаются кодовым кодом до отображения страницы. Ниже приведено excerps кода, проволочный инлайн модальность с последующим кодом, что провод на AJAX модальностях:

СТР INLINE модальностей:

$('#<%#Container.DataItem%>') 
.jqm({ modal: true , 
    onShow:function(hash){ 
      hash.w.css('opacity',1).fadeIn("fast"); 
      }, 
      onHide: function(hash) { 
      hash.w.fadeOut("fast",function() { if(hash.o)  {hash.o.remove();} }); 
}}) 
     .jqmAddTrigger($('#<%#Container.DataItem%>Open')) 
     .jqmAddClose($('#<%#Container.DataItem%>Close')); 

СТР AJAX модальности:

$('#digitalModal') 
    .jqm({ modal: true, ajax: '@href', ajaxText: 'Please Wait...', trigger: 'a.digitalTrigger', 
    onHide: UpdateParentState}); 
}); 

В качестве другого более конкретного Например, если я открою встроенный модальный код, который выполняет jqmHide против этого модального $('#modInline-' + itemNumber).jqmHide(), все будет хорошо, пока я не открою мода AJAX. Если я открою AJAX modal, закройте, откройте Inline modal, эта же строка кода, которая работала до этого, выведет ошибку: Ошибка выполнения Microsoft JScript: «a» является нулевым или не является объектом.

Кто-нибудь еще испытал это или мог знать, что происходит?

Заранее спасибо

ответ

0

Это оказалось что-то довольно глупо, конечно. Я включил библиотеки JQuery и JQModal на страницу AJAX, отображаемую в модальном режиме, и они противоречили библиотекам на родительской странице.