Mi sembra una complicazione eccessiva per un problema cosi' semplice... ti propongo un'alternativa, non ottimmizzata perche' didattica, ma utilizzabile.
codice:<HEAD> <SCRIPT LANGUAGE="JavaScript"> <!-- function popola_gg(mese) { var newData = new Date() anno = newData.getFullYear(); // anno attuale var newData = new Date(anno,mese,0); // l'ultimo del mese richiesto var maxg = newData.getDate(); g = document.mioForm.gg; g.options.length=0; for (var i=0;i<maxg;i++) { g.options[i] = new Option(i+1,i+1) } } //--> </SCRIPT> </HEAD> <BODY onload="popola_gg(1);"> <form name="mioForm"> <select name="mm" onchange="popola_gg(this.options[this.selectedIndex].value);"> <option value=1>Gennaio</option> <option value=2>Febbraio</option> <option value=3>Marzo</option> <option value=4>Aprile</option> ... <option value=11>Novembre</option> <option value=12>Dicembre</option> </select> <select name="gg"> </select> </form> </BODY>