Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Confrontare orari

  1. #1
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692

    Confrontare orari

    Ciao.

    E' possibile con javascript confrontare un orario inserito in un form, nel formato hh:mm, con l'orario del proprio pc e se questo orario inserito è antecedente o inferiore all' orario del proprio pc ( o con un preciso orario di riferimento ) bloccare la compilazione del form stesso ?

    Grazie x spiegazioni ed esempi.
    "Ubi Maior, Minor Cessat"
    Domandare è lecito, rispondere è cortesia...
    A tutti è dovuta una risposta, comunque...

    “Dio gradisce molto di più le bestemmie dell’uomo disperato che non le lodi del benpensante la domenica mattina durante il culto“ Martin Lutero

  2. #2
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692
    Ravandando su google mi hanno suggerito questa funzione per confrontare un orario inserito in un form, nel formato hh:mm, con l'orario del proprio pc e se questo orario inserito è antecedente o inferiore all' orario del proprio pc si blocca la compilazione del form:

    codice:
    <script>
    function validTime(T)
    
    {
    
        T = T.split(/\D+/);
        
        var D1 = new Date();
        D1 = new Date(D1.setHours(T[0]*1,T[1]*1,0,0));
        
        if(!D1 || D1 < new Date()) 
        
        {
          alert("KO");
          return(false);
        }    
    
        return true;
    }
    
    </script>
    
    <form method="POST" action="other.htm" onsubmit="return validTime(this.T1.value);">
    Ma dovrei integrarla all'interno di quest'altra funzione javascript già esistente che controlla che tutti i campi del form siano compilati e che il campo T1 sia inserito nel form con formato hh:mm, potreste aiutarmi?

    codice:
    <script language="javascript" type="text/javascript">
     
    <!--
    function ValidateForm(Qform) 
    {
     
      for (var a = 0; a < Qform.elements.length; a++) 
        {
        var campo = Qform.elements[a];
     
            if (campo.value.length <= 0)
     
            {
                window.alert('KO.');
                campo.focus();
                return false;
              }
              
               }
              
    var re = new RegExp("^([0-9]{2}) : ([0-9]{2})$", "");
     
    if (!Qform.T1.value.match(re))
        {
          alert("KO");
          Qform.T1.focus();
          Qform.T1.select();
          return(false);
        }    
    
    //SEGUONO ALTRI CONTROLLI SU ALTRI CAMPI...            
                 
    return(true);
    }
     
    //-->
    </script>
    
    
    <form action="other.htm" method="post" name="Qform" onsubmit="return(ValidateForm(this));">
    Grazie-
    "Ubi Maior, Minor Cessat"
    Domandare è lecito, rispondere è cortesia...
    A tutti è dovuta una risposta, comunque...

    “Dio gradisce molto di più le bestemmie dell’uomo disperato che non le lodi del benpensante la domenica mattina durante il culto“ Martin Lutero

  3. #3
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692
    Ho scritto così ma restituisce sempre la alert su:

    if(!D1 || D1 < new Date())

    codice:
    <html>
    
    <head>
    
    <script language="javascript" type="text/javascript">
     
    <!--
    function ValidateForm(Qform) 
    {
     
      for (var a = 0; a < Qform.elements.length; a++) 
        {
        var campo = Qform.elements[a];
     
            if (campo.value.length <= 0)
     
            {
                window.alert('KO-1.');
                campo.focus();
                return false;
              }
              
         }
              
    var re = new RegExp("^([0-9]{2}) : ([0-9]{2})$", "");
     
    if (!Qform.T1.value.match(re))
        {
          alert("KO-3");
          Qform.T1.focus();
          Qform.T1.select();
          return(false);
        }   
    
    
        T = T.split(/\D+/);
        
        var D1 = new Date();
        D1 = new Date(D1.setHours(T[0]*1,T[1]*1,0,0));
        
        if(!D1 || D1 < new Date()) 
        
        
        {
          alert("KO-2");
          Qform.T1.focus();
          Qform.T1.select();
          return(false);      
        }  
    
                 
    return(true);
    }
     
    //-->
    </script>
    </head>
    
    <body>
    
    <form action="other.htm" method="post" name="Qform" onsubmit="return(ValidateForm(this));">
    
    	
    
    <input type="text" name="T1" size="20"></p>
    	
    
    <input type="submit" value="GO" name="B1"></p>
    </form>
    
    </body>
    
    </html>
    "Ubi Maior, Minor Cessat"
    Domandare è lecito, rispondere è cortesia...
    A tutti è dovuta una risposta, comunque...

    “Dio gradisce molto di più le bestemmie dell’uomo disperato che non le lodi del benpensante la domenica mattina durante il culto“ Martin Lutero

  4. #4
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692
    up
    "Ubi Maior, Minor Cessat"
    Domandare è lecito, rispondere è cortesia...
    A tutti è dovuta una risposta, comunque...

    “Dio gradisce molto di più le bestemmie dell’uomo disperato che non le lodi del benpensante la domenica mattina durante il culto“ Martin Lutero

  5. #5
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692
    Risolto, mancava la riga in rosso:

    codice:
    <html>
    
    <head>
    
    <script language="javascript" type="text/javascript">
     
    <!--
    function ValidateForm(Qform) 
    {
     
      for (var a = 0; a < Qform.elements.length; a++) 
        {
        var campo = Qform.elements[a];
     
            if (campo.value.length <= 0)
     
            {
                window.alert('KO-1.');
                campo.focus();
                return false;
              }
              
         }
              
    var re = new RegExp("^([0-9]{2}) : ([0-9]{2})$", "");
     
    if (!Qform.T1.value.match(re))
        {
          alert("KO-3");
          Qform.T1.focus();
          Qform.T1.select();
          return(false);
        }   
    
        var T = Qform.T1.value;   
    
        T = T.split(/\D+/);
        
        var D1 = new Date();
        D1 = new Date(D1.setHours(T[0]*1,T[1]*1,0,0));
        
        if(!D1 || D1 < new Date()) 
        
        
        {
          alert("KO-2");
          Qform.T1.focus();
          Qform.T1.select();
          return(false);      
        }  
    
                 
    return(true);
    }
     
    //-->
    </script>
    </head>
    
    <body>
    
    <form action="other.htm" method="post" name="Qform" onsubmit="return(ValidateForm(this));">
    
    	
    
    <input type="text" name="T1" size="20"></p>
    	
    
    <input type="submit" value="GO" name="B1"></p>
    </form>
    
    </body>
    
    </html>
    "Ubi Maior, Minor Cessat"
    Domandare è lecito, rispondere è cortesia...
    A tutti è dovuta una risposta, comunque...

    “Dio gradisce molto di più le bestemmie dell’uomo disperato che non le lodi del benpensante la domenica mattina durante il culto“ Martin Lutero

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 © 2025 vBulletin Solutions, Inc. All rights reserved.