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

    Gestione Date con Javascript in JSP

    Ciao a tutti avrei il seguente problema:
    come posso controllare la correttezza delle date immesse dagli utenti con JavaScript?
    Inoltre avendo già usato l'opzione onClick per gestire con javascript i campi da inserire come mostro sotto:

    <input type="button" name="txtSalva" value="Salva Dati" onClick="ControllaInserimentoCampi(this.form)">

    come posso inserire un ulteriore controllo che lavora con javascript sullo stesso pulsante ?


    Grazie e ciaoooo

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    non sei molto chiaro nella spiegazione... in javascript fai un controllo lato client. Se per qualunque ragione, l'utente riesce a fare il submit con dati non conformi, senza un controllo lato server sei fritto.

    Le date in java le controlli/crei/modifichi con le classi Date, Calendar e annesse

    http://java.sun.com/j2se/1.4.2/docs/.../Calendar.html

    Ciao
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,482

    Moderazione

    Se si tratta di JavaScript (e mi sembra che JSP sia marginale, molto marginale in questo caso) ti sposto nell'area Scripting.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Per il controllo lato client, il programma JSP non c'entra: il tutto deve essere presente nella pagina HTML (con annessi script e CSS).

    Per la gestione degli eventi, credo che sei un po' fuori strada: il controllo dei form andrebbe fatto sull'evento onsubmit del tag <form>.
    Comunque dallo stesso evento puoi chiamare piu` controlli, ad esempio:
    onsubmit="if(primocontrollo() ) return secondocontrollo(); else return false;"

    L'argomento e` stato trattato piu` volte anche recentemente.
    Quindi prima di darti suggerimenti, ti pregherei di fare una ricerca nel forum (bottone in alto a dx).
    Poi se hai altri problemi specifici, torna qui.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5

    Classica soluzione

    Ti scrivo solo una parte dello script la cui funzione validate() restituisce true o false. E' solo uno spunto con mese e giorno, potrai completarla da te con le altre istruzioni condizionali che dovranno restituire false.

    <SCRIPT Language="Javascript">
    function validate() {
    a = document.modulo.month.value;
    b = document.modulo.day.value;
    if (( (a=="2") | (a=="4") | (a=="6") | (a=="9") | (a=="11") ) & (b="31")) /* Se il mese selezionato è uno di quelli con giorni < 31 ed è stato scelto il 31° giorno: */
    {
    alert('Attenzione, la data immessa non è corretta, rettifica il giorno.');
    return false; } else { return true; }
    }
    </SCRIPT>


    La parte HTML conterrà un normalissimo form di nome "modulo" che punta la tua pagina slave da cui raccogli i dati con un qualsiasi lato server (se è questo che vuoi):

    <FORM NAME="modulo" ACTION="pagina_slave.php" METHOD="POST" onSubmit="return validate();">
    <SELECT NAME="day">
    <OPTION VALUE="1">1</OPTION>
    <OPTION VALUE="2">2</OPTION>
    <OPTION VALUE="3">3</OPTION>
    <OPTION VALUE="4">4</OPTION>
    <OPTION VALUE="5">5</OPTION>

    <OPTION VALUE="31">31</OPTION>
    </SELECT>

    <SELECT NAME="month>
    <OPTION VALUE="1">gennaio</OPTION>
    <OPTION VALUE="2">febbraio</OPTION>
    <OPTION VALUE="3">marzo</OPTION>
    <OPTION VALUE="4">aprile</OPTION>
    <OPTION VALUE="5">maggio</OPTION>
    <OPTION VALUE="6">giugno</OPTION>
    <OPTION VALUE="7">luglio</OPTION>
    <OPTION VALUE="8">agosto</OPTION>
    <OPTION VALUE="9">settembre</OPTION>
    <OPTION VALUE="10">ottobre</OPTION>
    <OPTION VALUE="11">novembre</OPTION>
    <OPTION VALUE="12">dicembre</OPTION>
    </SELECT>

    <INPUT TYPE="SUBMIT VALUE="Salva">
    </FORM>


    Come puoi vedere nel tag FORM, inserendo l'istruzione onSubmit="return validate();" l'invio dei dati dal form avviene solo se la funzione validate() restituisce true, altrimenti non accade nulla.
    Ok?
    Emanuele DG
    <?php echo "Proverbio zen(d): vivi ogni giorno come se fosse il ".date('d M Y', time()); ?>
    Intellectual property

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188

    Re: Classica soluzione

    Originariamente inviato da emanueledg
    Ti scrivo solo una parte dello script la cui funzione ...
    Non e` un bell'esempio.
    Era una soluzione "classica" per il know-how del forum quattro anni fa, ora abbiamo esempi molto piu` funzionali.

    In codesto modo ti impegni in un processo infinito.
    Se invece usi l'oggetto Date arrivi ad una soluzione molto piu` generale e fatta bene.
    Nel forum ci sono varie risposte in questo senso.

    In alternativa puoi usare le RegExp, che fanno tutta la validazione in una riga. Anche per queste trovi informazioni nel forum.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7
    Ciao emanueledg,
    ti ringrazio per le tue preziose info anche se sono riuscito a risolvere,senza pochi problemi, il tutto prima di leggere il tuo messaggio.

    Grazie ancora e ciaoooooo

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.