Visualizzazione dei risultati da 1 a 9 su 9

Discussione: script non funzionante

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    23

    script non funzionante

    ho inserito in una pagina jsp uno script javascript che dovrebbe controllare la data inserita e un intero che dovrebbe essere compreso tra 18 e 30, il problema è che quando la pagina viene eseguita il controllo viene fatto solo sulla data e nn sull'intero. Posto il codice così potete dirmi dove sbaglio, premetto che sono agli inizi con javascript, abbiate pietà


    codice:
    function verifica(modulo){
       giorno=modulo.giorno.value;
       mese=modulo.mese.value;
       voto=modulo.voto.value;
       errore=false;
       if((giorno<1) || (giorno>31)) errore=true;
       if((mese<1) || (mese>12)) errore=true;
       if((voto<18) || (voto>30)) errore=true;
       if(errore==true){
           alert("dati errati");
           return false;
       }
    }
    questo codice viene richiamato dalla form in questo modo: <form action="/servlet" onsubmit="return verifica(this);" method="POST">

    dove sbaglio?

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    121
    Non ho ben capito che significa che il controllo viene effettuato sulla data e non sull'intero. Tu intendi singolarmente su ogni intero?

  3. #3
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    I valori inseriti nei campi del form sono sempre e soltanto stringhe di testo... tu stai tentando di confrontarle con numeri quindi...

    Fai:
    voto=parseInt(modulo.voto.value);

    Inoltre non e' buona cosa chiamare le variabili con lo stesso name usato nei campi del form... IE potrebbe fare confusione nell'identificare quale oggetto prendere in considerazione, se la variabile o il campo, se decide per quest'ultimo avresti un ovvio errore in esecuzione. Quindi meglio:
    w_voto=parseInt(modulo.voto.value);

    ciao

    ps: complimenti per il titolo
    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
    Registrato dal
    Jul 2010
    Messaggi
    23
    grazie per l'aiuto e scusate per il titolo.. ho ancora una domanda, perchè con la data funziona? sono sempre numeri..

  5. #5
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da theduke
    grazie per l'aiuto e scusate per il titolo.. ho ancora una domanda, perchè con la data funziona? sono sempre numeri..
    Sara'... a me non da' errore se metto come mese il 11111 che alfabeticamente e' minore di "12"
    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

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    23
    a me invece la data se metto mese 16 si arrabbia.. in ogni caso anche con il parseInt continua ad ignorare il voto, lo salta proprio controlla solo la data

  7. #7
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da theduke
    a me invece la data se metto mese 16 si arrabbia.. in ogni caso anche con il parseInt continua ad ignorare il voto, lo salta proprio controlla solo la data
    Hai tutti gli elementi e i suggerimenti per risolvere e testare lo script, ma non sei obbligato ad usarli...

    Posta tutto il form e lo script come e' attualmente dopo le correzioni, vediamo di darti qualcosa di realmente valido, se vuoi...
    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

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    23
    ecco qui lo script:
    codice:
    function verifica(modulo){
                    w_giorno=parseInt(modulo.giorno.value);
                    w_mese=parseInt(modulo.mese.value);
                    w_votazione=parseInt(modulo.votazione.value);
                    errore=false;
                    if ((w_giorno<1) || (w_giorno>31)) errore = true;
                    if ((w_mese<1) || (w_mese>12)) errore = true;
                    if ((w_votazione<18) || (w_votazione>30)) errore = true;
                    if(errore==true){
                        alert("errore nell'inserimento dei dati");
                        return false;
                    }
                    
                }
    e qui c'è il form:
    codice:
     <form action="/lab_project/servletsweb" onsubmit="return verifica(this);"  method="POST">
                
    
    Matricola: <jsp:getProperty name="docente" property="studenteiscr"/></p>
                
    
    Corso: <jsp:getProperty name="docente" property="appelli_fiss"/></p>
                
    
    Appello del: <input type="text" name="giorno" value="" size="3" />/<input type="text" name="mese" value="" size="3" /> (dd/mm)</p>
                
    
    Votazione: <input type="text" name="votazione" value="" size="3" />/30</p>
                
    
    <input type="submit" value="assegna voto" name="votazione" /></p>
            </form>

  9. #9
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    <input type="submit" value="assegna voto" name="votazione" />

    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

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.