Question

J'utilise ASP.Net et jQuery UI / jQuery et je suis en train d'utiliser le contrôle de datepicker. Il fonctionne très bien sur chaque page, sauf quand je dois utiliser le menu contextuel (pour ajouter de nouvelles données dans la base de données et puis je rafraîchir la page en cours afin de refléter les nouvelles données saisies). Il semble que document.ready () est échouaient lorsque j'utilise le menu contextuel. Je peux invoquer le contrôle DatePicker manuellement avec l'ajout d'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 de pourquoi un popup échouerait document.ready ()?

Merci!

code dans le fichier UserInterfaces.js 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 de la fonctionnalité d'appel Popup:

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

Pour le code 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';
}
}
Était-ce utile?

La solution

Qu'est-ce que le balisage pour votre pop-up et avez-vous une autre javascript qui pourrait provoquer une erreur avant le déclenchement de datepicker à l'intérieur du pop-up?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top