- Home
- Categorie
- Coding e Sistemistica
- Javascript & Framework
- js non funziona
-
js non funziona
Ciao a tutti, mi dareste una mano ,
ho un form che richiama il seguente js tramite onsbmitquesto è il form
<TD class="textmain" style="padding-left:5px;padding-top:55px"> <FORM NAME="mitt" action="index.php?th=1" method="post" onsubmit="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> </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></TD>
di seguito il js
<script language="JavaScript" type="text/JavaScript"> <!-- function verify_cform(f) { error=''; if(f.nome.value == '') error="Inserire il nome n"; if(f.cognome.value =='') error=error + "Inserire il cognome n"; if(f.richiesta.value =='') error=error + "Inserire la richiesta n"; if(f.mail.value =='') error=error + "Inserire una mail valida n"; else((dati.indexOf("@") == -1) | (dati.indexOf(".") == -1)) error= error + "Mail non valida"; if(error == '') {alert('vero'); return true;} else {alert(error); return false}; } //-->
:?:? però il form mi manda alla pagina successiva
dove sbaglio???
-
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
-
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> </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]
-
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;);)
-
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> </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:
-
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
-
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
-
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
-
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
-
Grazie mille
è proprio quello che mi servivati sono veramente grato
-
Queste informazioni sono state utilissime anche per me.
Grazie.