Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135

    Controllo su campi data

    Ciao.

    Ho un form del tipo:

    codice:
    <script language="JavaScript" type="text/JavaScript">
     
    <!--
      
    function CheckForm(Newform) 
    {
     
    
      for (var a = 0; a < Newform.elements.length; a++) 
    	{
    	var campo = Newform.elements[a];
     
          	if ((campo.value == '')  
    		{
            	window.alert('Il campo "' + campo.name +'"\nè un campo obbligatorio in questo form.');
            	campo.focus();
            	return false;
          		}
            }
          		
     
      // Abilita l'invio del FORM
      return(true);
    }
      
    //-->
     
    </script>
     
    </head>
    <body>
    
    
    <form name="Newform" method="POST" ACTION="altrapagina.asp" onsubmit="return(CheckForm(this));"> 
     
    <input type="text" name="DataInizio" size="20">
    <input type="text" name="DataFine" size="20">
     
    <input type="image"src="img.gif">
     
    </form>
    Come posso controllare che DataInizio sia sempre minore di DataFine ???
    Lo Stato dà un posto. L’impresa privata dà un lavoro. – Indro Montanelli

  2. #2
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135
    Non è chiaro?
    Lo Stato dà un posto. L’impresa privata dà un lavoro. – Indro Montanelli

  3. #3
    Originariamente inviato da [trodat]
    Non è chiaro?
    e' chiaro: parti da queste discussioni. :)

    ciao

  4. #4
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135
    Sono partito da quelle discussioni ma non sono arrivato poi tanto bene

    ho scritto così:

    codice:
    <script language="javascript" type="text/javascript">
    <!--
     
    function cnvDate(strDate, offset)
    {
      if (offset) re = new RegExp("^(\\d{4})/(\\d{1,2})/(\\d{1,2})$", "");
      else re = new RegExp("^(\\d{1,2})/(\\d{1,2})/(\\d{4})$", "");
     
      if (!(dt = strDate.match(re))) return(null);
     
      var day = dt[1 + offset];
      var month = dt[2];
      var year = dt[3 - offset];
     
      if (month < 1 || month > 12) return(null);
     
      if (month == 2) maxDay = (!(year % 4) && ((year % 100) || !(year % 400))) ? 29 : 28;
      else maxDay = (month == 4 || month == 6 || month == 9 || month == 11) ? 30 : 31;
     
      if (day < 1 || day > maxDay) return(null);
     
      return(new Date(year, month - 1, day));
    }
     
    function CheckForm(Newform)
    {
      for ( var a = 0 ; a < Newform.elements.length ; a++ )
        {
          var campo = Newform.elements[a];
          if (campo.value.length <= 0)  
            {
              window.alert('Il campo "' + campo.name +'"\nè un campo obbligatorio in questo form.');
              campo.focus();
              return(false);
            }
        }
     
      if (!(dtMin1 = cnvDate(Newform.DataMin.value, 0)))
        {
          alert("Errore di formato di DataMin !");
          Newform.DataMin.focus();
          Newform.DataMin.select();
          return(false);
        }
     
      if (!(dtMax1 = cnvDate(Newform.DataMax.value, 0)))
        {
          alert("Errore di formato di DataMax !");
          Newform.DataMax.focus();
          Newform.DataMax.select();
          return(false);
        }
     
      if (dtMin1.getTime() > dtMax1.getTime())
        {
          alert("Il campo DataMin è maggiore di DateMax");
          Newform.DataMin.focus();
          Newform.DataMin.select();
          return(false);
        }
     
      // Abilita l'invio del FORM
      return(true);
    }
     
    // -->
    </script>
    
    <form name="Newform" method="POST" ACTION="altrapagina.asp" onsubmit="return(CheckForm(this));">
    Ma nonostante avvisi che DataMin è maggiore di DataMax il form viene comunque inviato.
    Lo Stato dà un posto. L’impresa privata dà un lavoro. – Indro Montanelli

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.