salve a tutti devo realizzare un calendario in javascript...e per ora ne ho fatto un po...poi pero mi sono bloccato...perchè accade una cosa ke nn riesco a spiegarmi..la prima volta ke lo lancio va...quando provo ad interagire non funziona piu niente...ora mi spiego meglio...so ke mancano ancora un paio di funzioni pero prima di continuare volevo risolvere questo prob...allora quando io lo apro il calendario parte dal mese corrente, pero quando premo su avanti o su indietro per cambiare mese il programma si pianta...eppure utilizza la stexa funzione...help![]()
![]()
![]()
codice:
<html>
<head>
<script>
var attuale = new Date();
var mese=attuale.getMonth();
var anno=calcoloAnno(attuale.getYear());
var bisestile=false;
var nomeMese=new Array();
nomeMese.push("Gennaio");
nomeMese.push("Febbraio");
nomeMese.push("Marzo");
nomeMese.push("Aprile");
nomeMese.push("Maggio");
nomeMese.push("Giugno");
nomeMese.push("Luglio");
nomeMese.push("Agosto");
nomeMese.push("Settembre");
nomeMese.push("Ottobre");
nomeMese.push("Novembre");
nomeMese.push("Dicembre");
var giorno=new Array();
giorno.push("Lun");
giorno.push("Mar");
giorno.push("Mer");
giorno.push("Gio");
giorno.push("Ven");
giorno.push("Sab");
giorno.push("Dom");
inizio();
function calcoloGiorni(appo,bisestile){
if(appo==8||appo==3||appo==5||appo==10){
giorniMese=30;
}else if(appo!=1){
giorniMese=31;
}else if(bisestile==true){
giorniMese=29;
}else{
giorniMese=28;
}
return giorniMese;
}
function calcoloBisestile(anno){
mom=false;
if(anno%4==0&&anno%100!=0)mom=true;
else mom=false;
return mom;
}
function calcoloAnno(anno){
if(anno<1000)anno+=1900;
return anno;
}
function fun(event){
tasto=event.keyCode;
if(tasto==37)indietro();
else if(tasto==39)avanti();
else alert("no");
}
function inizio(){
bisestile=calcoloBisestile(anno);
giorniMese=calcoloGiorni(mese,bisestile);
disegna(1,giorniMese);
}
function avanti(){
mese++;
if(mese==12){
mese=0;
anno=calcoloAnno(anno+1);
bisestile=calcoloBisestile(anno);
}
giorniMese=calcoloGiorni(mese,bisestile);
disegna(1,giorniMese);
}
function indietro(){
mese--;
if(mese<0){
mese=11;
anno=calcoloAnno(anno-1);
bisestile=calcoloBisestile(anno);
}
giorniMese=calcoloGiorni(mese,bisestile);
disegna(1,giorniMese);
}
function leggi(gg,numMese,nomeAnno){
alert(gg);
alert(nomeMese[numMese]);
alert(nomeAnno);
}
function disegna(giornoInizio,giorniMese){
document.write("<table>");
giornoInizio--;
gg=0;
linee=5;
scarto=0;
if(35-giornoInizio<giorniMese)linee++;
document.write("<tr>");
document.write("<td align=center colspan=7>"+nomeMese[mese]+" "+anno+"</td>");
document.write("</tr>");
document.write("<tr>");
for(i=0;i<7;i++)document.write("<td>"+giorno[i]+"</td>");
document.write("</tr>");
for(i=0;i<linee;i++){
document.write("<tr>");
for(j=0;j<7;j++){
if(scarto<giornoInizio){
gg--;
scarto++;
}
gg++;
document.write("<td>");
if(gg!=0&&gg<=giorniMese){
if(gg<10)gg="0"+gg;
document.write("<input type=button value="+gg+" onclick=leggi("+gg+","+mese+","+anno+");>");
}document.write("</td>");
}
document.write("</tr>");
}
document.write("</table>");
document.write("<input type=button value=- onclick=javascript:indietro();>");
document.write("<input type=button value=+ onclick=avanti();>");
}
</script>
</head>
<body>
<form>
</form>
</body>
</html>

Rispondi quotando