Allora, ho 3 select, una è per il giorno, una per il mese e l'ultima per l'anno, voglio fare dei controlli in javascript perché siano validi i valori, questo è lo script completo:
Non riesco a capire dov'è l'errore, certamente non sui controlli del nome e del codice, visto che funzionavano prima che mettessi i controlli sulla data,
Holden
Codice:
<script language="javascript">
function bisestile (year) {
if ((year % 4) == 0)
{
return true
}
else
{
return false
}
}
function Modulo() {
// Variabili associate ai campi del modulo
var nome = document.modulo.nome.value;
var cod_cliente = document.modulo.cod_cliente.value.length;
var cod_cliente2 = document.modulo.cod_cliente.value;
var giorno = document.modulo.giorno.options[document.modulo.giorno.selectedIndex].value;
var mese = document.modulo.mese.options[document.modulo.mese.selectedIndex].value;
var anno = document.modulo.anno.options[document.modulo.anno.selectedIndex].value;
//Effettua il controllo sul campo NOME
if (((nome == "") || (nome == "undefined")) &&
((cod_cliente == "") || (cod_cliente == "undefined")))
{
alert("Devi riempire almeno un campo");
document.modulo.nome.focus();
return false;
}
// Effettua controllo numericità codice
else if (isNaN(cod_cliente2))
{
alert("Il codice deve essere numerico");
document.modulo.cod_cliente.focus();
return false;
}
// Effettua controllo lunghezza codice
else if (cod_cliente < 3)
{
alert("Il codice deve essere di 3 cifre");
document.modulo.cod_cliente.focus();
return false;
}
//Effettua il controllo sulla data
else if ((document.modulo.giorno.selectedIndex == 31)
&& ((document.modulo.mese.selectedIndex == 9)
|| (document.modulo.mese.selectedIndex == 11)
|| (document.modulo.mese.selectedIndex == 6)
|| (document.modulo.mese.selectedIndex == 4)))
{
alert("Il mese selezionato non ha più di 30 giorni.");
document.modulo.giorno.focus();
return false;
}
//Effettua il controllo sull'anno bisestile
else if (((document.modulo.giorno.selectedIndex > 28) &&
(document.modulo.mese.selectedIndex == 2) &&
(!(bisestile(document.modulo.anno.selectedIndex))))
{
alert("L'anno non è bisestile, febbraio ha solo 28 giorni.");
document.modulo.giorno.focus();
return false;
}
//INVIA IL MODULO
else {
document.modulo.action = "save_bolla.php";
document.modulo.submit();
}
}
</script>
Non riesco a capire dov'è l'errore, certamente non sui controlli del nome e del codice, visto che funzionavano prima che mettessi i controlli sulla data,
Holden