Ciao a tutti raga, ho un problema
da risolvere negli esercizi di un esame. Come avete letto nel titolo si tratta di calcolare l'anno bisestile in un form di registrazione dove l'utente deve inserire la propria data di nascita, inoltre il menu (anno, mese e giorno) deve essere attivato sequenzialmente con una "select&go". Di fatti per la "select&go" non ho avuto problemi, infatti l'unico campo attivo è l'anno, poi dopo aver selezionato l'anno mi attiva il mese e successivamente il giorno. Qui viene il bello (brutto
)...se seleziono un anno bisestile mi dovrebbe stampare automaticamente i mesi con i relativi giorni di febbraio (29 se è bisestile 28 se non lo è...). Qui di seguito vi posto ciò che ho fatto finora, manca tutta la parte di controllo dell'anno bisestile. Perdonate la mia scarsissima preparazione in merito, ma se lo sapevo fare non vi avrei chiesto aiuto :-) ...Vi ringrazio fin d'ora per la disponibilità.
codice:
<html>
<head>
<title>Esame</title>
<script language="javascript" src="abilita.js"></script>
</head>
<body>
<form name="modulo" method="POST" action="registra.php">
<table>
<tr>
<td>
<fieldset>
<legend align="center">Dati Registrazione</legend>
<table>
<tr>
<td>Login</td><td><input type="text" name="login"></td>
</tr>
<tr>
<td>Password</td><td><input type="text" name="password1"></td>
</tr>
<tr>
<td>Password</td><td><input type="text" name="password2"></td>
</tr>
<tr>
<td>Email</td><td><input type="text" name="email"></td>
</tr>
</table>
</fieldset>
</td>
<td>
<fieldset><legend align="center">Dati Personali</legend>
<table>
<tr>
<td>Cognome:</td>
<td><input type="text" name="cognome"></td>
</tr>
<tr>
<td>Nome:</td>
<td><input type="text" name="nome"></td>
</tr>
<tr>
<td>Codice Fiscale:</td>
<td><input type="text" name="CF"></td>
</tr>
<tr>
<td>Data</td>
<td>
<select name="anno" onchange=abilita("mese")>
<option selected>Anno
<script type="text/javascript">
for(var i=1900; i<=1990; i++)
document.write("<option value="+i+">"+i);
</script>
</select>
</td>
</tr>
<tr>
<td>di</td>
<td>
<select name="mese" disabled onchange=abilita("giorno")>
<option selected>Mese
<option value="1">Gennaio
<option value="2">Febbraio
<option value="3">Marzo
<option value="4">Aprile
<option value="5">Maggio
<option value="6">Giugno
<option value="7">Luglio
<option value="8">Agosto
<option value="9">Settembre
<option value="10">Ottobre
<option value="11">Novembre
<option value="12">Dicembre
</select>
</td>
</tr>
<tr>
<td>Nascita</td>
<td>
<select name="giorno" disabled>
<option selected>Giorno
<script type="text/javascript">
for(var i=1; i<=31; i++)
document.write("<option value="+i+">"+i);
</script>
</select>
</td>
</tr>
</table>
</fieldset>
</td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" value="Invia Dati">
<input type="reset" value="Cancella">
</td>
</tr>
</table>
</form>
</body>
</html>
LA FUNZIONE ABILITA.JS RICHIAMATA NELL'HEAD E' LA SEGUENTE:
codice:
function abilita(x) {
var elem = document.modulo[x];
elem.removeAttribute("disabled"); }
Spero di ricevere suggerimenti utili. Grazie ancora.