• User

    dimenticavo di dire che il form mi manda alla pagina successiva, ma il Javascript non fa nulla, non mi effettua nessun controllo.

    Ma il onsubmit non dovrebbe attivarsi solo se il JS gli restituisce true


  • User Attivo

    C'erano degli errori.
    Il codice corretto è così (anche se non l'avrei scritto così io)

    [html] <FORM NAME="mitt" action="index.php?th=1" method="post" onsubmit="javascript:return verify_cform(this)">
    <INPUT type="hidden" name="recipient" value="[email protected]">
    <INPUT type="hidden" name="required" value="nome,email,richiesta">

                        <TABLE>
                        <TR><TD colspan=2 class="textsmall">I campi contrasseganti da * sono obbligatori</TD></TR>
                        <TR><TD>&nbsp;</TD></TR>
                        <TR>
                        <TD>Nome*:</TD><TD><INPUT type="text" name="nome" size="30"/></TD>
                        </TR>
                        <TR>
                        <TD>Cognome*:</TD><TD><INPUT type="text" name="cognome" size="30"/></TD>
                        </TR>
                        <TR>
                        <TD>Indirizzo email*:</TD><TD><INPUT type="text" name="email" size="30"/></TD>
                        </TR>
                        <TR>
                        <TD>Località:</TD><TD><INPUT type="text" name="localita" size="30"/></TD>
                        </TR>
                        <TR>
                        <TD>Attività:</TD><TD><INPUT type="text" name="attivita" size="30"/></TD>
                        </TR>
                        <TR>
                        <TD>Richiesta\Note*:</TD><TD><TEXTAREA cols="30" rows="5" name="richiesta"></TEXTAREA></TD>
                        </TR>
                        <TR>
                        <TD></TD><TD><INPUT type="submit" value="Invia"  /></TD>
                        </TR>
                        <TR>
                        <TD></TD><TD class="textsmall"><INPUT checked="checked" name="privacy" type="checkbox"> 
                          Informativa ai sensi del D. Lgs. del 30.06.2003, n. 196 in materia di protezione dei dati personali</TD>
                        </TR>
                        
                        </TABLE>
            </FORM>[/html]Il js è così:
    

    [html]<script language="JavaScript" type="text/JavaScript">
    <!--
    function verify_cform(f) {

        error='';
        
        if(f.nome.value == '') {error="Inserire il nome n\n"}
        
        if(f.cognome.value =='') {error=error + "Inserire il cognome n\n"}
        
        if(f.richiesta.value =='') {error=error + "Inserire la richiesta n\n"}
        
        if(f.email.value =='') {error=error + "Inserire una mail valida n\n"}
        
    
        if((f.email.value.indexOf("@") == -1) | (f.email.value.indexOf(".") == -1)) {error= error + "Mail non valida"}
    
        if(error == '') {
        alert('vero')
        return true;
        }
        else {
        alert(error) 
        return false;
        }
    }
    

    //-->
    </script>[/html]


  • User

    Ti ringrazio,
    scusami, come avrei potuto scrivere allora (penso che ti riferivi al form)

    sono aperto a tutte le critiche ed ai vari insegnamenti

    cmq ti ringrazio moltissimo;);)


  • User Attivo

    Con il getElementById.
    Più o meno così:

    [html] <FORM NAME="mitt" action="index.php?th=1" onsubmit="javascript:return verify_cform()" method="post">
    <INPUT type="hidden" name="recipient" value="[email protected]">
    <INPUT type="hidden" name="required" value="nome,email,richiesta">

                        <TABLE>
                        <TR><TD colspan=2 class="textsmall">I campi contrasseganti da * sono obbligatori</TD></TR>
                        <TR><TD>&nbsp;</TD></TR>
                        <TR>
                        <TD>Nome*:</TD><TD><INPUT type="text" name="nome" id="nome" size="30"/></TD>
                        </TR>
                        <TR>
                        <TD>Cognome*:</TD><TD><INPUT type="text" name="cognome" id="cognome" size="30"/></TD>
                        </TR>
                        <TR>
                        <TD>Indirizzo email*:</TD><TD><INPUT type="text" name="email" id="email" size="30"/></TD>
                        </TR>
                        <TR>
                        <TD>Località:</TD><TD><INPUT type="text" name="localita" id="localita" size="30"/></TD>
                        </TR>
                        <TR>
                        <TD>Attività:</TD><TD><INPUT type="text" name="attivita" id="attivita" size="30"/></TD>
                        </TR>
                        <TR>
                        <TD>Richiesta\Note*:</TD><TD><TEXTAREA cols="30" rows="5" id="richiesta" name="richiesta"></TEXTAREA></TD>
                        </TR>
                        <TR>
                        <TD></TD><TD><INPUT type="submit" id="btn_submit" value="Invia"/></TD>
                        </TR>
                        <TR>
                        <TD></TD><TD class="textsmall"><INPUT checked="checked" name="privacy" id="privacy" type="checkbox"> 
                          Informativa ai sensi del D. Lgs. del 30.06.2003, n. 196 in materia di protezione dei dati personali</TD>
                        </TR>
                        
                        </TABLE>
            </FORM>[/html]```
    

    <script language="JavaScript" type="text/JavaScript">
    <!--
    function verify_cform() {

        error='';
        
        if (document.getElementById('nome').value==''){error="Inserire il nome\n"}
        if (document.getElementById('cognome').value==''){error=error+"Inserire il cognome\n"}
        if (document.getElementById('richiesta').value==''){error=error+"Inserire la richiesta\n"}
    
        
        if((document.getElementById('email').value.indexOf("@") == -1) | (document.getElementById('email').value.indexOf(".") == -1)) {error= error + "Mail non valida"}
      
      if (error!=''){
      alert(error)
      return false
      }
    
    
    }
    

    //-->
    </script>

    
    bye:ciauz:

  • User

    Grazie mille, hai perfettamente ragione, è fatto come da te consigliato

    Un'ultima domanda, come posso fare un controllo sul checkbox, ossia che valori restituisce???

    grazie mille comunque! A buon rendere


  • User Attivo

    Ti serve il valore o se è stato spuntato?

    Per sapere se è stato spuntato:

     document.getElementById('check1').checked
    

    Mentre per sapere il valore:

    document.getElementById('check1').value
    

  • User

    quindi se voglio sapere se è stato spuntato
    come posso richiamare la funzione e fargli restituire il valore "acconsente al trattamento dei dati" o "non acconsente al trattamento dei dati"

    Scusami se ti chiedo tanto, ma sono all'inizio con i JS e vedo che tu sei veramente bravo

    grazie:vai:


  • User Attivo

    Dipende. Se, per andare avanti, deve spuntare per forza il trattamento allo puoi fare

        if (document.getElementById('check1').checked==false)
        {
        alert('Devi acconsentire al trattamento dati')
        return false
        }
    

    Dove ovviamente 'check1' è l'id del tuo checkbox


  • User

    Grazie mille
    è proprio quello che mi serviva

    ti sono veramente grato


  • User Newbie

    Queste informazioni sono state utilissime anche per me.

    Grazie.