Domanda

Sto usando ASP.Net e jQuery / jQuery UI e sto cercando di utilizzare il controllo DatePicker. Funziona bene su ogni pagina, tranne quando devo usare il popup (per aggiungere nuovi dati nel database e poi ho aggiornare la pagina corrente in modo da riflettere i nuovi dati inseriti). Sembra che document.ready () sta fallendo quando uso il popup. Posso richiamare il controllo DatePicker manualmente con l'aggiunta di un evento click per sparare la funzione showcalendar, però io voglio cercare di farlo funzionare. Qualcuno ha qualche idea del perché un popup fallirebbe document.ready ()?

Grazie!

Codice in file 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'});

});

Codice Calling Funzionalità Popup:

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

Codice Per Modal Popup che usiamo:

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';
}
}
È stato utile?

Soluzione

Qual è il margine di profitto per il vostro popup e hai qualche altra javascript che potrebbe causare un errore prima di incendi DatePicker all'interno del pop-up?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top