2010-07-13 7 views
0

J'utilise JQModal sur une page ASP.Net dans deux modes différents. Pour certains modaux, j'affiche le contenu en ligne de la page. Pour les autres modaux, j'utilise l'attribut AJAX sur JQModal pour afficher le contenu d'une page externe. Je trouve que ces deux modes semblent être en conflit les uns avec les autres. Par exemple, si j'ouvre un modal AJAX sur la page, effectuez quelques actions et fermez, puis ouvrez l'un des modaux Inline sur la page, effectuez quelques actions et puis essayez de fermer, je reçois wierd erreurs JQuery/JQModal javascript telles que les suivantes:Problème JQModal utilisant à la fois les modales Inline et AJAX sur la même page

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

-ou-

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

Si pendant que je suis sur la page J'utilise modaux inline exclusivement, tout fonctionne bien. Mais dès que j'ouvre et ferme l'un des modaux AJAX, je commence à voir les erreurs de script lancées à partir des opérations dans les modaux Inline qui fonctionnent normalement. C'est comme si quelque chose se re-câblait lorsque les modaux AJAX sont ouverts et que je n'ai pas encore compris ce qui se passe et comment y remédier.

Tous mes modaux sont câblés en code-behind avant le rendu de la page. Les éléments suivants sont excerps de code qui fil modaux inline suivi du code que les fils Les modaux AJAX:

PAGE INLINE modaux:

$('#<%#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')); 

PAGE AJAX modaux:

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

Comme autre plus concret Par exemple, si j'ouvre un modal en ligne qui exécute un jqmHide par rapport à ce modal $('#modInline-' + itemNumber).jqmHide() tout va bien jusqu'à ce que j'ouvre un modal AJAX. Si j'ouvre un modal AJAX, fermez, ouvrez le modal Inline, cette même ligne de code qui a déjà fonctionné jettera l'erreur: Erreur d'exécution Microsoft JScript: 'a' est nul ou pas un objet.

Est-ce que quelqu'un d'autre a connu cela ou pourrait savoir ce qui se passe?

Merci à l'avance

Répondre

0

Ce avéré être quelque chose d'assez stupide, bien sûr. J'incluais les bibliothèques JQuery et JQModal sur la page AJAX affichée dans le modal et elles étaient en conflit avec les bibliothèques de la page parent.