Salve a tutti, sono nuovo del Forum , volevo una mano a risolvere un problema.

Tengo a precisare che non ho molta confidenza con JS, ho copiato il codice del seguente link , ma il problema sorge nel momento in cui volessi controllare la correttezza della data solo e soltanto qualora in campo che la contiene sia pieno.


Ho provato con il seguente codice, ma il risultato è che:

-Se il campo data è vuto lo scritp funziona (la query da il risultato corretto);
-Se il campo data è pieno ma scorretto lo script funziona infatti mi avverte;
-Se il campo data è pieni e corretto lo script non funziona.

Mi affido alla vostra esperienza.

Grazie in aticipo.

codice:
<script language="javascript">
 <!--

  function Modulo() {

     // Variabili associate ai campi del modulo
     var data = document.modulo.data.value;
     var numero = document.modulo.numero.value;

        //Effettua il controllo sul campo NUMERO
       if ((isNaN(numero)) || (numero == "undefined")) {
           alert("Il campo Numero deve contenere un valore numerico.");
           document.modulo.numero.value = "";
           document.modulo.numero.focus();
           return false;
        }
		else if(document.modulo.data.value != ""){
        //Effettua il controllo sul campo DATA
         if (document.modulo.data.value.substring(2,3) != "/" ||
           document.modulo.data.value.substring(5,6) != "/" ||
           isNaN(document.modulo.data.value.substring(0,2)) ||
           isNaN(document.modulo.data.value.substring(3,5)) ||
           isNaN(document.modulo.data.value.substring(6,10))) {
             alert("Inserire Data in formato gg/mm/aaaa");
              document.modulo.data.value = "";
              document.modulo.data.focus();
              return false;
        }


         else if (document.modulo.data.value.substring(0,2) > 31) {
           alert("Impossibile utilizzare un valore superiore a 31 per i giorni");
           document.modulo.data.select();
           return false;
        }


         else if (document.modulo.data.value.substring(3,5) > 12) {
           alert("Impossibile utilizzare un valore superiore a 12 per i mesi");
           document.modulo.data.value = "";
           document.modulo.data.focus();
           return false;
        }


         else if (document.modulo.data.value.substring(6,10) < 1900) {
           alert("Impossibile utilizzare un valore inferiore a 1900 per l'anno");
           document.modulo.data.value = "";
           document.modulo.data.focus();
           return false;
        }
		}
		
        //INVIA IL MODULO
        else {
           document.modulo.action = "view.php";
           document.modulo.submit();
        }
  }
 //-->
</script>