Newsgroup: it.comp.lang.javascript
Titolo: Funzione calendario





Voglio costruire un modulo html diviso in due frame 
in cui andare a posizionare a sx una combo "Anno" e "Mese" e nella frame dx una 
table con in giorni del mese, l'intestazione dei giorni della settimana e la 
possibilita di selezionare ogni singolo giorno del mese con un radio 
button.
Il mio problema è riuscire a creare in modo dinamico una funzione in 
javascript che selezionando il mese e l'anno dalle combo dal frame di sx 
aggiorni la table alla frame dx riportando il giorno corrente.
Per default 
all'apertura il modulo dovrebbe presentare il mese, anno e giorno corrente 
selezionato nel radio button del table del frame di sx.
Come si potrebbe 
tutto ciò?
Vi ringrazio da adesso per 
l'aiuto.
Diego.



news:000801c0509e$c61b32e0>$1c01...@easynet.it...

L'ho fatto velocemente , perciò provalo per vedere se non ci sono
bugs.............
Nel frame di sinistra metti........
<html>
<head>
<title>calen1</title>
<script language="javascript">
oggi = new Date();
anno= oggi.getFullYear();
mese= oggi.getMonth();
giorno= oggi.getDay();
gmese= oggi.getDate();
function adesso(){
aa=self.document.forms[0].D1.options.length;
mm=self.document.forms[0].D2.options.length;
gg=top.frames[1].document.forms[0].R1.length;
gm=top.frames[1].document.forms[1].R1.length;
for(i=0; i<aa; i++){
if(self.document.forms[0].D1.options[i].value==anno){
self.document.forms[0].D1.selectedIndex=i;
}
}
for(j=0; j<mm; j++){
if(self.document.forms[0].D2.options[j].value==mese){
self.document.forms[0].D2.selectedIndex=j;
}
}
for(y=0; y<gg; y++){
if(top.frames[1].document.forms[0].R1[y].value==giorno){
top.frames[1].document.forms[0].R1[y].checked=true;
}
}
for(g=0; g<gm; g++){
if(top.frames[1].document.forms[1].R1[g].value==gmese){
top.frames[1].document.forms[1].R1[g].checked=true;
}
}
}
function cambia(){
ww=self.document.forms[0].D1.options[self.document.forms[0].D1.selectedIndex
].value;
zz=self.document.forms[0].D2.options[self.document.forms[0].D2.selectedIndex
].value;
jj=top.frames[1].document.forms[1].R1.length;
for(k=0; k<jj; k++){
if(top.frames[1].document.forms[1].R1[k].checked==true){
yy=top.frames[1].document.forms[1].R1[k].value;
}
}
oggi = new Date(ww,zz,yy);
anno= oggi.getFullYear();
mese= oggi.getMonth();
giorno= oggi.getDay();
giorno=(giorno==0)?6:(giorno==1)?0:(giorno==2)?1:(giorno==3)?2:(giorno==4)?3
:(giorno==5)?4:(giorno==6)?5:0
gmese= oggi.getDate();
aa=self.document.forms[0].D1.options.length;
mm=self.document.forms[0].D2.options.length;
gg=top.frames[1].document.forms[0].R1.length;
gm=top.frames[1].document.forms[1].R1.length;
for(i=0; i<aa; i++){
if(self.document.forms[0].D1.options[i].value==anno){
self.document.forms[0].D1.selectedIndex=i;
}
}
for(j=0; j<mm; j++){
if(self.document.forms[0].D2.options[j].value==mese){
self.document.forms[0].D2.selectedIndex=j;
}
}
top.frames[1].document.forms[0].R1[giorno].checked=true;
for(g=0; g<gm; g++){
if(top.frames[1].document.forms[1].R1[g].value==gmese){
top.frames[1].document.forms[1].R1[g].checked=true;
}
}
}
</script>
</head>
<body onLoad="adesso()">
<p><br>
<br>
</p>
<form method="POST" >
  <p><select size="1" name="D1" onChange="cambia()">
  <option value="1999">1999</option>
  <option value="2000">2000</option>
  <option value="2001">2001</option>
  &nbsp;
  </select><br>
  <br>
  <select size="1" name="D2" onChange="cambia()">
  <option value="01">Febbraio</option>
  <option value="02">Marzo</option>
  <option value="03">Aprile</option>
  <option value="04">Maggio</option>
  <option value="05">Giugno</option>
  <option value="06">Luglio</option>
  <option value="07">Agosto</option>
  <option value="08">Settembre</option>
  <option value="09">Ottobre</option>
  <option value="10">Novembre</option>
  <option value="11">Dicembre</option>
  <option value="12">Gennaio</option>
  &nbsp; </select></p>
</form>
</body>
</html>
Nel frame di destra metti........
<html>
<head>
<title>calen2</title>
</head>
<body>
<form method="POST" >
  <table border="1" width="100%">
    <tr>
      <td width="14%">
        <p align="center"><input type="radio" value="1" name="R1">
        &nbsp;<br>
        lunedì</td>
      <td width="14%">
        <p align="center"><input type="radio" name="R1" value="2">
martedì</td>
      <td width="14%">
        <p align="center"><input type="radio" name="R1" value="3">
mercoledì</td>
      <td width="14%">
        <p align="center"><input type="radio" name="R1" value="4">
giovedì</td>
      <td width="14%">
        <p align="center"><input type="radio" name="R1" value="5">
venerdì</td>
      <td width="15%">
        <p align="center"><input type="radio" name="R1" value="6">
&nbsp;<br>
 sabato</td>
      <td width="15%">
        <p align="center"><input type="radio" name="R1" value="0">
domenica</td>
    </tr>
  </table>
</form>
<form method="POST" >
  <table border="1" width="100%">
    <tr>
      <td width="14%"><input type="radio" value="1" name="R1"
onClick="top.frames[0].cambia()">1</td>
      <td width="14%"><input type="radio" name="R1" value="2"
onClick="top.frames[0].cambia()">2</td>
      <td width="14%"><input type="radio" name="R1" value="3"
onClick="top.frames[0].cambia()">3</td>
      <td width="14%"><input type="radio" name="R1" value="4"
onClick="top.frames[0].cambia()">4</td>
      <td width="14%"><input type="radio" name="R1" value="5"
onClick="top.frames[0].cambia()">5</td>
      <td width="15%"><input type="radio" name="R1" value="6"
onClick="top.frames[0].cambia()">6</td>
      <td width="15%">
        <p align="left"><input type="radio" name="R1" value="7"
onClick="top.frames[0].cambia()">7</p>
      </td>
    </tr>
    <tr>
      <td width="14%"><input type="radio" name="R1" value="8"
onClick="top.frames[0].cambia()">8</td>
      <td width="14%"><input type="radio" name="R1" value="9"
onClick="top.frames[0].cambia()">9</td>
      <td width="14%"><input type="radio" name="R1" value="10"
onClick="top.frames[0].cambia()">10</td>
      <td width="14%"><input type="radio" name="R1" value="11"
onClick="top.frames[0].cambia()">11</td>
      <td width="14%"><input type="radio" name="R1" value="12"
onClick="top.frames[0].cambia()">12</td>
      <td width="15%"><input type="radio" name="R1" value="13"
onClick="top.frames[0].cambia()">13</td>
      <td width="15%"><input type="radio" name="R1" value="14"
onClick="top.frames[0].cambia()">14</td>
    </tr>
    <tr>
      <td width="14%"><input type="radio" name="R1" value="15"
onClick="top.frames[0].cambia()">15</td>
      <td width="14%"><input type="radio" name="R1" value="16"
onClick="top.frames[0].cambia()">16</td>
      <td width="14%"><input type="radio" name="R1" value="17"
onClick="top.frames[0].cambia()">17</td>
      <td width="14%"><input type="radio" name="R1" value="18"
onClick="top.frames[0].cambia()">18</td>
      <td width="14%"><input type="radio" name="R1" value="19"
onClick="top.frames[0].cambia()">19</td>
      <td width="15%"><input type="radio" name="R1" value="20"
onClick="top.frames[0].cambia()">20</td>
      <td width="15%"><input type="radio" name="R1" value="21"
onClick="top.frames[0].cambia()">21</td>
    </tr>
    <tr>
      <td width="14%"><input type="radio" name="R1" value="22"
onClick="top.frames[0].cambia()">22</td>
      <td width="14%"><input type="radio" name="R1" value="23"
onClick="top.frames[0].cambia()">23</td>
      <td width="14%"><input type="radio" name="R1" value="24"
onClick="top.frames[0].cambia()">24</td>
      <td width="14%"><input type="radio" name="R1" value="25"
onClick="top.frames[0].cambia()">25</td>
      <td width="14%"><input type="radio" name="R1" value="26"
onClick="top.frames[0].cambia()">26</td>
      <td width="15%"><input type="radio" name="R1" value="27"
onClick="top.frames[0].cambia()">27</td>
      <td width="15%"><input type="radio" name="R1" value="28"
onClick="top.frames[0].cambia()">28</td>
    </tr>
    <tr>
      <td width="14%"><input type="radio" name="R1" value="29"
onClick="top.frames[0].cambia()">29</td>
      <td width="14%"><input type="radio" name="R1" value="30"
onClick="top.frames[0].cambia()">30</td>
      <td width="14%"><input type="radio" name="R1" value="31"
onClick="top.frames[0].cambia()">31</td>
      <td width="14%">&nbsp;</td>
      <td width="14%">&nbsp;</td>
      <td width="15%">&nbsp;</td>
      <td width="15%">&nbsp;</td>
    </tr>
  </table>
  <p align="center">&nbsp;</p>
</form>
</body>
</html>
andreotta fabiano
WebMªster ATI POWER s.n.c.
andr...@atipower.it
http://www.atipower.it
http://www.aticommerce.com
http://www.afdsoftware.freeweb.org
http://www.jsdir.com
http://www.javascript.3000.it