Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    108

    Errore su controllo data

    Ciao a tutti, volevo realizzare un controllo sulla data...

    Ho messo giù questo codice (seguendo vecchie discussioni di questo forum), ma non funziona..


    <html>
    <head>
    <title>Controllo form</title>
    <script>
    function verificaData(anno, mese, giorno) {
    var d = new Date(anno, mese-1, giorno);
    return (d.getFullYear()==anno && d.getMonth()==(mese-1) && d.getDate()==giorno);
    }

    data = "67/85/2003";
    da = data.split("/");
    if(!verificaData(da[2],da[1],da[0])) {
    alert("DATA NON VALIDA");
    }
    </script>

    <script>
    function controllo() {
    var da = document.passadata.data.value.split("/");
    return verificaData(da[2],da[1],da[0]);
    }
    </script>
    </head>

    <body>
    <form method="post" id="passadata" action="salvadata.asp">
    <input type="text" id="data" name="data" size="8"><input type="submit" value="Invia" onclick="return controllo()">
    </form>
    </body>
    </html>


    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Manca il name del form; l'attributo id non basta per la sintassi JS che usi:

    <form method="post" name="passadata" id="passadata" action="salvadata.asp" onsubmit="controllo();">

    La chiamata a controllo() conviene farla con l'eventoonsubmit del form, piuttostoc he con l'evento onclick sul campo submit.

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    108
    Non funziona, mi stampa "data non valida" al caricamento della pagina.. poi niente quandi clicco sul pulsante di submit.

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Aggiungi alcuni alert, ma c'e` un pezzo che non capisco (e che dovrebbe darti il codice di errore iniziale):
    codice:
    function verificaData(anno, mese, giorno) {
    var d = new Date(anno, mese-1, giorno);
    alert("sto verificando "+anno+" "+mese+" "+giorno);
    return (d.getFullYear()==anno && d.getMonth()==(mese-1) && d.getDate()==giorno);
    }
    ...
    function controllo() {
    var da = document.passadata.data.value.split("/");
    alert("sto controllando "+da[2]+" "+da[1]+" "+da[0]);
    return verificaData(da[2],da[1],da[0]);
    }
    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

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.