2010-04-15 7 views
0

une extension de ma dernière question, getDate with Jquery Datepicker,Jquery Datepicker avec le fichier XML

Je suis en train d'utiliser le datepicker jquery pour charger des informations spécifiques à partir du fichier XML en fonction de la date choisie par l'utilisateur. Code similaire mais j'essaye de charger et analyser un fichier xml pour lire le contenu du fichier pour la date particulière.

Dans un monde parfait, l'utilisateur taperait une date et en dessous de la sortie html datepicker donnerait à l'utilisateur des heures spécifiques pour la date sélectionnée au lieu de mon dernier projet d'une image. Mon problème est que rien ne se charge, donc ma question est ce que je fais mal?

mon code est le suivant

<!DOCTYPE html> 

<link type="text/css" href="css/ui-darkness/jquery-ui-1.8.custom.css" rel="stylesheet" /> 
    <script type="text/javascript" src="js/jquery-1.4.2.min.js"></script> 
    <script type="text/javascript" src="js/jquery-ui-1.8.custom.min.js"></script> 
    <script type="text/javascript"> 
     $(function(){ 
      // Datepicker 
      $('#datepicker').datepicker({ 
       dateFormat: 'yy-mm-dd', 
       inline: true, 
       minDate: new Date(2010, 1 - 1, 1), 
       maxDate:new Date(2010, 12 - 1, 31), 
       altField: '#datepicker_value', 
       onSelect: function(){ 
        var day1 = $("#datepicker").datepicker('getDate').getDate();     
        var month1 = $("#datepicker").datepicker('getDate').getMonth() + 1;    
        var year1 = $("#datepicker").datepicker('getDate').getFullYear(); 
        var fullDate = year1 + "" + month1 + "" + day1; 
        //var str_output ="<img src=\"http://website/images/a" + fullDate +".png\" width=\"100%\"/>"; 
        //"<h1>"+fullDate+"</h1>"; 
        //"<img src=\"http://website/images/a" + fullDate +".png\"/>"; 
        //$('#page_output').html(str_output); 
         var doc = loadXMLDoc('date.xml'); // loading the XML file 
         var el = doc.getElementsByTagName('_'+date); // retrieving the elements corrsponding to a date, eg: _20100103 
         var page_output = document.getElementById('page_output'); 

         if(el.length >= 1) 
         { 
          // matched XML data found for the specified date  
          var dt = el[0].getElementsByTagName('date'); 
          var great_times = el[0].getElementsByTagName('great_times'); 
          var good_times = el[0].getElementsByTagName('good_times');  
          var str_output = "<h1><center>" + dt[0].childNodes[0].nodeValue + "</center></h1><br/><br>"; 
          str_output += "<b>Excellent Times:</b><br> " + great_times[0].childNodes[0].nodeValue + "<br/><br>"; 
          str_output += "<b>Good Times:</b><br> " + good_times[0].childNodes[0].nodeValue + "<br/><br>"; 
          $('#page_output').html(str_output);// writing the results to the div element (page_out) 
         } 
         else 
         { 
          alert("Sorry","Action not allowed on this page"); 
          page_output.innerHTML = ''; // No XML data found for the selected date 
          reloadmainwDate();  
          return false; 
         } 
         return true;  
       } 
      });    
      //hover states on the static widgets 
      $('#dialog_link, ul#icons li').hover(
       function() { $(this).addClass('ui-state-hover'); }, 
       function() { $(this).removeClass('ui-state-hover'); } 
      );   
     }); 
     //var img_date = .datepicker('getDate'); 
      //var day1 = $("#datepicker").datepicker('getDate').getDate();    
      //var month1 = $("#datepicker").datepicker('getDate').getMonth() + 1;    
      //var year1 = $("#datepicker").datepicker('getDate').getFullYear(); 
      //var fullDate = year1 + "-" + month1 + "-" + day1; 
      //var date = $('#datepicker').datepicker({ dateFormat: 'dd-mm-yy' }); 
      //var str_output = "<h1><center><p>"+ date + "</p></center></h1>"; 
      //$('#page_output')[0].innerHTML = str_output; 



    // writing the results to the div element (page_out) 
    </script> 
    <script> 
loadXMLDoc fonction

(DNAME) {var xmlDoc;

// IE 5 and IE 6 
if(typeof ActiveXObject != 'undefined') 
{ 
    xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); 
    xmlDoc.async=false; 
    xmlDoc.load(dname); 
    return xmlDoc; 
} 
else if (window.XMLHttpRequest) // firefox 
{ 
    xmlDoc=new window.XMLHttpRequest(); 
    xmlDoc.open("GET",dname,false); 
    xmlDoc.send(""); 
    return xmlDoc.responseXML; 
} 
alert("Error loading document"); 
return null; 

}

<!-- Datepicker --> 

    <div id="datepicker"></div> 

    <!-- Highlight/Error --> 

    <div id="page_output"></div> 


</body> 

+0

personne avec une suggestion? – matt

Répondre

0

corriger mon code pas très longtemps, je vais juste répondre à ma propre question au cas où quelqu'un a des problèmes similaires.

<!DOCTYPE html> 

<link type="text/css" href="css/ui-darkness/jquery-ui-1.8.custom.css" rel="stylesheet" /> 
    <script type="text/javascript" src="js/jquery-1.4.2.min.js"></script> 
    <script type="text/javascript" src="js/jquery-ui-1.8.custom.min.js"></script> 
    <script type="text/javascript"> 
     $(function(){ 
      // Datepicker 
      $('#datepicker').datepicker({ 
       dateFormat: 'yy-mm-dd', 
       inline: true, 
       minDate: new Date(2010, 1 - 1, 1), 
       maxDate:new Date(2010, 12 - 1, 31), 
       altField: '#datepicker_value', 
       onSelect: function(){ 
        var day1 = $("#datepicker").datepicker('getDate').getDate();     
        var month1 = $("#datepicker").datepicker('getDate').getMonth() + 1;    
        var year1 = $("#datepicker").datepicker('getDate').getFullYear(); 
        // code added 
        // this is to convert the month '3' to '03' 
        month1 = addZero(month1, 2); 
        day1 = addZero(day1, 2); 
        var fullDate = year1 + month1 + day1; 

        parseXML(fullDate);//move function outside of this function 
        //var str_output ="<img src=\"http://69.*.*.*/images/a" + fullDate +".png\" width=\"100%\"/>"; 
        //"<h1>"+fullDate+"</h1>"; 
        //"<img src=\"http://69.*.*.*/images/a" + fullDate +".png\"/>"; 
        //$('#page_output').html(str_output); 

       } 
      });    
      //hover states on the static widgets 
      $('#dialog_link, ul#icons li').hover(
       function() { $(this).addClass('ui-state-hover'); }, 
       function() { $(this).removeClass('ui-state-hover'); } 
      );   
     }); 
     //var img_date = .datepicker('getDate'); 
      //var day1 = $("#datepicker").datepicker('getDate').getDate();    
      //var month1 = $("#datepicker").datepicker('getDate').getMonth() + 1;    
      //var year1 = $("#datepicker").datepicker('getDate').getFullYear(); 
      //var fullDate = year1 + month1 + day1; 
      //var date = $('#datepicker').datepicker({ dateFormat: 'dd-mm-yy' }); 
      //var str_output = "<h1><center><p>"+ date + "</p></center></h1>"; 
      //$('#page_output')[0].innerHTML = str_output; 



    // writing the results to the div element (page_out) 
    </script> 
    <script>