ciao a tutti
sto sperimentando questo selettore di date nascita per i form
http://javascript.internet.com/time-...-selector.html
devo dire che è molto utile ma ho un problema...
Selezionata una data, per esempio October - 10 - 2010 il "valore" della option degli anni mi ritorna 2009, ossia un anno in meno (-1), ho provato a mettere mano alla porzione di codice che setta il valore delle option degli anni, ma non riesco proprio a farmi tornare l'anno giusto..
Per evitarvi "sbattimenti" vi posto il codice completo :
la funzione year_install è la responsabile della creazione dei valori option degli anni :codice:var date_arr = new Array; var days_arr = new Array; date_arr[0]=new Option("January",31); date_arr[1]=new Option("February",28); date_arr[2]=new Option("March",31); date_arr[3]=new Option("April",30); date_arr[4]=new Option("May",31); date_arr[5]=new Option("June",30); date_arr[6]=new Option("July",31); date_arr[7]=new Option("August",30); date_arr[8]=new Option("September",30); date_arr[9]=new Option("October",31); date_arr[10]=new Option("November",31); date_arr[11]=new Option("December",30); function fill_select(f) { document.writeln("<SELECT name=\"months\" onchange=\"update_days(FRM)\">"); for(x=0;x<12;x++) document.writeln("<OPTION value=\""+date_arr[x].value+"\">"+date_arr[x].text); document.writeln("</SELECT><SELECT name=\"days\"></SELECT>"); selection=f.months[f.months.selectedIndex].value; } function update_days(f) { temp=f.days.selectedIndex; for(x=days_arr.length;x>0;x--) { days_arr[x]=null; f.days.options[x]=null; } selection=parseInt(f.months[f.months.selectedIndex].value); ret_val = 0; if(f.months[f.months.selectedIndex].value == 28) { year=parseInt(f.years.options[f.years.selectedIndex].value); if (year % 4 != 0 || year % 100 == 0 ) ret_val=0; else if (year % 400 == 0) ret_val=1; else ret_val=1; } selection = selection + ret_val; for(x=1;x < selection+1;x++) { days_arr[x-1]=new Option(x); f.days.options[x-1]=days_arr[x-1]; } if (temp == -1) f.days.options[0].selected=true; else f.days.options[temp].selected=true; } function year_install(f) { document.writeln("<SELECT name=\"years\" onchange=\"update_days(FRM)\">") for(x=2001;x<2101;x++) document.writeln("<OPTION value=\""+x+"\">"+x); document.writeln("</SELECT>"); update_days(f) }
il ciclo for da il valore in automatico con OPTION value=\""+x+"\">... ma non c'è modo di aggiungergli un +1 o altro, se no non visualizza più i select list... qualcuno riesce a metterlo a posto? Mi sarebbe molto molto utile... grazie mille...codice:function year_install(f) { document.writeln("<SELECT name=\"years\" onchange=\"update_days(FRM)\">") for(x=2001;x<2101;x++) document.writeln("<OPTION value=\""+x+"\">"+x); document.writeln("</SELECT>"); update_days(f) }

Rispondi quotando