Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [JS] Controllo Data ma campo non obbligatorio

    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>

  2. #2
    Ragazzi ho risolto così:

    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 (data != ""){
            //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;
            }
    		else {
    		document.modulo.action = "view.php";
               document.modulo.submit();  }
    		}
            //INVIA IL MODULO
            else {
               document.modulo.action = "view.php";
               document.modulo.submit();  
    		  //document.write(document.modulo.data.value);
            }
      }
     //-->
    </script>

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.