2010-03-30 4 views
0

J'utilise ASP.Net et jQuery/jQuery UI et j'essaie d'utiliser le contrôle datepicker. Cela fonctionne très bien sur toutes les pages, sauf lorsque je dois utiliser le menu contextuel (pour ajouter de nouvelles données dans la base de données, puis actualiser la page en cours pour refléter les nouvelles données entrées). Il semble que document.ready() échoue lorsque j'utilise le popup. Je peux appeler le contrôle datepicker manuellement en ajoutant un événement click pour déclencher la fonction showcalendar, mais je veux essayer de le faire fonctionner. Est-ce que quelqu'un a des idées sur les raisons pour lesquelles un popup échouerait document.ready()?Document.ready() échec sur popup

Merci!

code dans UserInterfaces.js fichier script:

$(document).ready(function(){ 

$(".calendarTrigger").datepicker({showOn:'focus', showAnim: 'fadeIn', changeMonth: true, showOn:'both', buttonImage: '/images/calendar.gif', buttonImageOnly: true, changeYear: true, yearRange: '1950:2010'}); 

}); 

code d'appel Fonctionnalité Popup:

<a href="#" onclick='javascript:openWindow("/modules/prh/AI.aspx","PH","480","650","","");' 

code Pour Modal Popup que nous utilisons:

function openWindow(url,name,height,width,left,top) 
{ 
if(!width) {width = 625}; 
if(!height){height = 625}; 
if(!left) {left = 60}; 
if(!top){top = 60};  
if (!name) {name='mk'}; 

name = name.replace(" ",""); 

if ((window.showModalDialog) && (navigator.appName!="Microsoft Internet Explorer")) 
{ 
     grayOut(true); 

     newWindow = window.showModalDialog(url,"name","dialogWidth: " + width + "px;dialogHeight: " + height + "px;resizable: 1;status: 0;scrollbars: 1;dialogLeft: " + left +"px;dialogTop: " + top + "px"); 

     if (newWindow) 
      newWindow.focus(); 

     grayOut(false); 

} 
else 
{ 
    newWindow = window.open(url,name,'width=' + width + ',height='+ height + 
    ',resizable=1,status=0,scrollbars=1,left=' + left +',top=' + top); 

    if (newWindow) 
     newWindow.focus(); 
    else 
     window.Name.focus(); 

} 
} 

function grayOut(vis, options) { 
// Pass true to gray out screen, false to ungray 
// options are optional. This is a JSON object with the following (optional) properties 
// opacity:0-100   // Lower number = less grayout higher = more of a blackout 
// zindex: #    // HTML elements with a higher zindex appear on top of the gray out 
// bgcolor: (#xxxxxx) // Standard RGB Hex color code 
// grayOut(true, {'zindex':'50', 'bgcolor':'#0000FF', 'opacity':'70'}); 
// Because options is JSON opacity/zindex/bgcolor are all optional and can appear 
// in any order. Pass only the properties you need to set. 
var options = options || {}; 
var zindex = options.zindex || 50; 
var opacity = options.opacity || 70; 
var opaque = (opacity/100); 
var bgcolor = options.bgcolor || '#000000'; 
var dark=document.getElementById('darkenScreenObject'); 
    var tbody = document.getElementsByTagName("body")[0]; 
if (!dark) 
{ 
    // The dark layer doesn't exist, it's never been created. So we'll 
    // create it here and apply some basic styles. 
    // If you are getting errors in IE see: http://support.microsoft.com/default.aspx/kb/927917 
    var tnode = document.createElement('div');   // Create the layer. 
    tnode.style.position='absolute';     // Position absolutely 
    tnode.style.top='0px';       // In the top 
    tnode.style.left='0px';       // Left corner of the page 
    tnode.style.overflow='hidden';     // Try to avoid making scroll bars    
    tnode.style.display='none';      // Start out Hidden 
    tnode.id='darkenScreenObject';     // Name it so we can find it later 
    tbody.appendChild(tnode);       // Add it to the web page 
    dark=document.getElementById('darkenScreenObject'); // Get the object. 
} 


if (vis) 
{ 
    var pageWidth="100%"; 
    var pageHeight=getPageHeightWithScroll(); 
if (window.innerHeight>pageHeight) 
    pageHeight = window.innerHeight; 
pageHeight = pageHeight + "px"; 

    //set the shader to cover the entire page and make it visible. 
    dark.style.opacity=opaque;      
    dark.style.MozOpacity=opaque;     
    dark.style.filter='alpha(opacity='+opacity+')'; 
    dark.style.zIndex=zindex;   
    dark.style.backgroundColor=bgcolor; 
    dark.style.width= pageWidth; 
    dark.style.height= pageHeight; 
    dark.style.display='block';       
} 
else 
{ 
    dark.style.display='none'; 
} 
} 
+0

Je ne vois pas document.ready dans votre code ... manque-t-il quelque chose? –

+0

Désolé de le mettre là maintenant. –

+0

@Seth - Ce fichier .js est inclus dans la fenêtre contextuelle de '/ modules/prh/AI.aspx'? –

Répondre

0

Quel est le balisage pour votre popup et avez-vous un autre javascript qui pourrait causer une erreur avant datepicker incendies ins Id le popup?

+0

J'ai Firebugs jScript Debugger en cours d'exécution et rien ne se brise que j'ai été capable de dire, semble juste frapper le document.ready() pour le code jQuery et qui revient faux ou échoue et saute l'initierisation datepicker –

+0

Il y avait une erreur dans mon HoverIntent, je ne l'ai pas attrapé jusqu'à maintenant, c'est la réponse (en quelque sorte). –

Questions connexes