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

    data_fine sempre maggiore di data_inizio

    Ciao.

    Nel seguente form come posso controllare che data_fine sia sempre maggiore di data_inizio e che data_fine sia sempre diversa da data_inizio ?

    E se così non fosse (cioè data_fine < di data_inizio o data_fine = data_inizio) avvisare l'utente con una finestra alert???

    Ho provato così, ma il controllo sul form dà sempre via libera anche quando data_fine è minore di data_inizio:

    Grazie...

    codice:
    <html>
    <head>
    
    <script language="JavaScript" type="text/JavaScript">
    <!--
    
    function convalidaForm(Myform) 
    {
    
    if(document.getElementById('data_inizio').value == "" ){
    alert("Inserire data inizio.");
    document.getElementById('data_inizio').focus();
    return false;
    }
    
    if(document.getElementById('data_fine').value == "" ){
    alert("Inserire data fine.");
    document.getElementById('data_fine').focus();
    return false;
    }
    
    var scadenza = isDate(document.getElementById.data_inizio.value);
    var data = isDate(document.getElementById.data_fine.value);
    if (data&&scadenza) {
    	if ((data)<(scadenza)) {
    		alert("La data indicata è sbagliata!");
    		return false;
    	} 
    } 
    
    if (!confirm('La richiesta sarà inviata.\nConfermi i dati inseriti?')) return false;
          		    
    
    return(true);
    }
     
    //-->
    </script>
    </head>
    
    <body>
    
    <form name="MyForm" action="vai.asp" method="post" onsubmit="return(convalidaForm(this));">
    
    <input type="text" id="data_inizio" name="data_inizio">
    <input type="text" id="data_fine" name="data_fine">
    
    </form>
    </body>
    </html>
    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


    codice:
    <html>
    
    <head>
    <script language="JavaScript" type="text/JavaScript">
    <!--
    
    function isDate(str) { // anno a 4 cifre !!!
    	spz = str.split("/"); 
    	dat = new Date(spz[2], spz[1]-1, spz[0]); 
    	if	( 
    		dat.getFullYear() == parseFloat(spz[2]) &&
    		dat.getMonth() == (parseFloat(spz[1])-1) &&
    		dat.getDate() == parseFloat(spz[0]) 
    		) {
    			return dat;
    	}
    	return false;
    }
    
    function convalidaForm(Qform) 
    {
    
    if(document.getElementById('data_inizio').value == "" ){
    alert("Inserire data inizio.");
    document.getElementById('data_inizio').focus();
    return false;
    }
    
    if(document.getElementById('data_fine').value == "" ){
    alert("Inserire data fine.");
    document.getElementById('data_fine').focus();
    return false;
    }
    
    var data_inizio = isDate(document.getElementById.data_inizio.value);
    var data_fine = isDate(document.getElementById.data_fine.value);
    
    	if ((data_fine)<=(data_inizio)) {
    		alert("La data fine non può essere uguale (o minore) alla data inizio!");
    		return false;
    	}
    
    if (!confirm('La richiesta sarà inviata.\nConfermi i dati inseriti?')) return false;
          		    
    // Abilita l'invio del FORM
    return(true);
    }
     
    //-->
    </script>
    </head>
    
    <body>
    <form name="Qform" action="date.htm" method="post" onsubmit="return(convalidaForm(this));">
    
    <input type="text" id="data_inizio" name="data_inizio" size="20">
    <input type="text" id="data_fine" name="data_fine" size="20">
    <input type="submit" name="Submit" value="Inoltra">
    
    </form>
    </body>
    
    </html>
    Lo Stato dà un posto. L’impresa privata dà un lavoro. – Indro Montanelli

  3. #3
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da [trodat]
    Cosa c'e' che non va nel mio script? :master:

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  4. #4
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135
    Originariamente inviato da br1
    Cosa c'e' che non va nel mio script? :master:

    ciao
    Nel tuo niente, sbagliavo io... invece che:

    codice:
    var data_inizio = isDate(document.getElementById.data_inizio.value);
    var data_fine = isDate(document.getElementById.data_fine.value);
    deve essere:

    codice:
    var data_inizio = isDate(document.getElementById('data_inizio').value);
    var data_fine = isDate(document.getElementById('data_fine').value);
    Magnifica questa tua funzione isDate, complimenti !!!!
    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.