Newsgroup: it.comp.lang.javascript
Titolo: Generare una combo contentente i giorni partendo da anno e mese

Si può fare una cosa di questo tipo?
combo con un certo numero di anni es. da 2000 a 2099 ed una che mostra
i 12 mesi a questo punto dovrebbe comparire una terza combo, sempre
nella stessa pagina, che richiami i giorni di quel mese
Ciao Filippo

dollari altairiani al giorno deve assolutamente sapere.

la mia era una richiesta che da due campi menù/list o come li vuoi
chiamare uno contenente degli anni da 2000 a 2099 e una seconda
contenente i 12 mesi da gennaio a dicembre mi generasse nella stessa
pagina la relativa select con i giorni di quel mese!
ho trovato una cosa simile su jsdir nelle faq ma se qualcuno aveva già
affrontato questo problema magari risparmiavo tempo e come sempre
avrebbe ricevuto un mio grazie!
il resto non mi importa dato che non ho voglia di litigare con
nessuno!
di seguito c'è il codice che fa circa quello che vorrei ma a me serve
controllando le date!
<HTML><HEAD>
<SCRIPT language="JavaScript">
aa=0;
bb=0;
cc=0;
dd=0;
sec=new Array('C','D','E','F')
ter=new Array('AA','BB','CC','DD')
function scegli(){
aa=document.forms[0].D1.options[document.forms[0].D1.selectedIndex].value;
if(aa==1){
bb=0;cc=1;
}
else if(aa==2){
bb=2;cc=3;
}
qq=new Array(bb,cc)
for(i=0; i<qq.length; i++){
document.forms[0].D2.options[i+2]=null;
newO=new Option(sec[qq[i]],(qq[i]+1))
document.forms[0].D2.options[document.forms[0].D2.length]=newO
}
if(document.forms[0].D2.length>3){
document.forms[0].D2.options[1]=null;
}
}
function scegli2(){
hh=document.forms[0].D2.options[document.forms[0].D2.selectedIndex].value;
dd=(hh==1)?0:(hh==2)?1:(hh==3)?2:3
document.forms[0].D3.options[1]=null;
new1=new Option(ter[dd],(dd))
document.forms[0].D3.options[document.forms[0].D3.length]=new1
}
</SCRIPT>
<BODY >
<form method="POST" >
<p>
<select size="1" name="D1" onChange="scegli()">
 <option selected value="0">Scegli</option> 
  <option value="1">A</option>
  <option value="2">B</option>
</select>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<select size="1" name="D2" onChange="scegli2()">
<option selected value="0">Scegli</option>
</select>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<select size="1" name="D3">
<option value="0">Scegli</option>
</select>
</p>
</form>
</BODY></HTML>

grazie mille!
ma dimmi la verità è stato tutto un prendere tempo per scriverla e poi
darci sfoggio delle tue capacità!!! :-)
allora ti devo mandare a quel paese subito !!!! :-)))))))))

 pagina la relativa select con i giorni di quel mese!
Vedi un po' se risponde alle tue esigenze:
<html>
<body bgcolor="#FFFFFF">
<script language="JavaScript">
var mese = new Array("Gen", "Feb", "Mar", "Apr", "Mag", "Giu",
 "Lug", "Ago", "Set", "Ott", "Nov", "Dic");
var anno = new Array();
function populate() {
  var myform = document.data;
  var a = 2000 +
Number(myform.anno.options[myform.anno.selectedIndex].value);
  var m = myform.mese.options[myform.mese.selectedIndex].value;
  var g = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31)[m];
  if ((m == 1) && (a % 4 == 0 && a % 100 != 0 || a % 400 == 0))
     g++;
  while (myform.giorno.length > 0)
     myform.giorno.options[0] = null;
  for (var i = 0; i < g; i++)
     myform.giorno.options[i] = new Option(i + 1, i);
  myform.giorno.options[0].selected = true;
}
</script>
<FORM name="data">
<script language="JavaScript">
  document.write('<SELECT NAME="anno" onchange="populate()">');
  for (var i = 0; i < 100; i++)
   document.write('<OPTION value = "' + i + '">' + (i + 2000));
  document.write('</SELECT>');
  document.write('<SELECT NAME="mese" onchange="populate()">');
  for (var i = 0; i < 12; i++)
   document.write('<OPTION value = "' + i + '">' + mese[i]);
  document.write('</SELECT>');
  document.write('<SELECT NAME="giorno">');
  for (var i = 0; i < 31; i++)
   document.write('<OPTION value = "' + (i + 1) + '">' + (i + 1));
  document.write('</SELECT>');
</script>
</FORM>
</body>
</html>
Maurizio.

essere messi al muro quando verra` la rivoluzione".