2013-07-14 2 views
1

Je travaille sur ce script pour montrer mon calendrier et la console d'erreur dit que "le calendrier n'est pas défini". Je ne peux pas comprendre ce qui ne va pas.Quel est le problème avec ma fonction javascript?

c'est le code de la page .js comme demandé par John WHS

function calendar() 
{ 

var calDate = new Date("July 6, 2015"); 
    document.write("<table id = 'calendar_table'>"); 
writeCalTitle(calDate); 
    writeDayNames(); 
writeCalDays(calDate); 

    document.write("</table>"); 

} 


    //function for the title of the calendar 
    //the parameter is a date object 
    function writeCalTitle(calendarDay) 
    { 

     // This is an array for the months 
     var monthName = ["January","February","March","April","May","June","July","August" 
     ,"September","October","November","December"] 

     var thisMonth = calendarDay.getMonth(); 
     var thisYear = caalendarDay.getFullYear(); 

     document.write("<tr>"); 
     document.write("<th id='calendar_head' colspan='7'>"); 
     document.write(monthName[month] + " " +year); 

     document.write("</th>"); 
     document.write("</tr>"); 
    } 

    function writeDayNames() 
{ 
    var dayName = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]; 
    document.write("<tr>"); 
    // This is a for loop 
    for(var i = 0; i<dayName.length; i++) 
     { 
     document.write("<th id='calendar_weekdays'>" + dayName[i]+"</th>"); 
     } 

    document.write("</tr>"); 
} 


function daysInMonth(calendarDay) 
{ 
var dayCount = [31,28,31,30,31,30,31,31,30,31,30,31]; 
var thisYear = calendarDay.getFullYear(); 
var thisMonth = calendarDay.getMonth(); 
if (thisYear % 4 == 0) 
    { 

    if ((thisYear % 100 != 0 || (thisYear % 400 ==0)) 
    { 
    dayCount[1] = 29; 
    } 
} 
return dayCount[thisMonth]; 
} 



function writeCalDays(calendarDay) 
    { 
    // says the starting day of the month 
    var day = new Date(calendarDay.getFullYear(), calendarDay.getMonth(), 1); 
    var weekDay = day.getDay(); 

    // writes blank cells before the starting day 
    document.write("<tr>"); 
    for (var i = 0; i < weekDay; i++) 
     { 
     document.write("<td></td>"); 
     } 

    // writes cells for the days of the month 
    var totalDays = dayIn Month(calendarDay); 

    for (var i = 1; i<= totalDays; i++) 
     { 
     day.setDate(i); 
     weekDay = day.getDay(); 
     } 
    if (weekDay == 0) document.write("<tr>"); 
    document.write("<td class='calendar_dates'>" + i + "</td>"); 
    if (i == highlightDay) 
     { 
     document.write("<td class='calendar_dates' id='calendar_today'>" + i + "</td>"); 
     } 
     else 
     { 
     document.write("<td class='calendar_dates'>" + i + "</td>"); 
     } 

    if (weekDay == 6) document.write("</tr>"); 


    } 
+0

Où est ce code? – SLaks

+2

La définition de votre fonction se trouve-t-elle dans les balises '

0

Les déclarations de fonction doivent également être considérées comme des scripts. Par conséquent ...

<figure id="events"> 
<script type="text/javascript"> 

    function calendar() 
    { 

     var calDate = new Date("July 6, 2015"); 
     document.write("<table id = 'calendar_table'>"); 
     writeCalTitle(calDate); 
     writeDayNames(); 
     writeCalDays(calDate); 

     document.write("</table>"); 

    } 

    calendar(); 

</script> 
</figure> 

... devrait donner de meilleurs résultats.

+0

John WHS Merci, cela l'a changé ... n'a pas montré le calendrier cependant ... – rikeerik

+0

Eh bien d'abord, vous ouvrez une table, mais pas en utilisant des lignes, ni des cellules. Montrez-nous le code des fonctions 'write *' et surtout: vérifiez le code source de votre page. Peut-être que le code ** a été généré **, même si quelque chose a fait échouer l'interprétation du navigateur ^^ –

+0

Qu'est-ce que je recherche dans les codes source? – rikeerik

0

Vous devez avoir le code à l'intérieur de la balise <script> ou chargé via <script src="...">.

+0

Je constate que lorsque vous utilisez le bloc-notes ++ et que vous essayez d'insérer '. –

Questions connexes