Visualizzazione dei risultati da 1 a 10 su 10

Discussione: controllo su form

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    155

    controllo su form

    ciao a tutti..
    ho un form di iscrizione ad una newsletter, ho messo dei controlli in modo che i campi debbano essere compilati tutti e fin qui nessun problema
    ho aggiunto una checkbox per il consenso ai dati personali..vorrei che nel momento in cui non viene flaggata non si possa procedere con l'iscrizione..

    il codice che ho usato è lo stesso degli altri controlli che funzionano normalmente:

    <script language="JavaScript">
    function controlli() {
    if (document.iscrizione.cognome.value=='') {
    alert('Attenzione: inserisca Cognome!');
    return false;
    }else if (document.iscrizione.nome.value=='') {
    alert('Attenzione: inserisca Nome!');
    return false;
    }else if (document.iscrizione.mail.value=='') {
    alert('Attenzione: inserisca indirizzo E-mail!');
    return false;
    }else if (document.iscrizione.consenso.value=='') {
    alert('Attenzione: deve dare il consenso al trattamento dei dati per potersi iscrivere alla newsletter!');
    return false;

    }else{
    return true;
    }
    }
    </script>
    il codice che da problemi l'ho evidenziato in rosa...
    qualcuno sa aiutarmi? grazie ciao!

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    }else if (!document.iscrizione.consenso.checked) {
    alert('Attenzione: deve dare il consenso al trattamento dei dati per potersi iscrivere alla newsletter!');
    return false;
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    155
    grazie mille!! non sono molto pratico di javascript

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    155
    ciao..ho appena messo il codice e provato...nulla...è come se nn eseguisse il controllo...ti posto l'intero script dei controlli:

    <script language="JavaScript">
    function controlli() {
    if (document.iscrizione.cognome.value=='') {
    alert('Attenzione: inserisca Cognome!');
    return false;
    }else if (document.iscrizione.nome.value=='') {
    alert('Attenzione: inserisca Nome!');
    return false;
    }else if (document.iscrizione.mail.value=='') {
    alert('Attenzione: inserisca indirizzo E-mail!');
    return false;
    }else if (document.iscrizione.consenso.checked) {
    alert('Attenzione: deve dare il consenso al trattamento dei dati per potersi iscrivere alla newsletter!');
    return false;
    }else{
    return true;
    }
    }
    </script>

    c'è qualcosa che sbaglio?

  5. #5
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Originariamente inviato da daxie

    c'è qualcosa che sbaglio?
    Si (altrimenti di norma andrebbe), ok non conoscere il javascript (non lo condivido ma ormai è un classico, leggere le guide è noioso ) ma se sbagliamo anche il copia/incolla, all'ora mi viene da dire lascia perdere.
    Se riguardi il mio codice troverai un punto esclamativo !dentro la if(!......) che in javascript significa NOT.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    155
    prima di tutto se qualcuno si rivolge qui e chiede aiuto è perchè ha un problema che non riesce a risolvere...se dall'altra parte non c'è la disponibilità di spiegare le cose allora mi viene da dire lascia perdere e non metterti nemmeno a dare risposte.

    secondo non funzionava nemmeno con il punto esclamativo davanti...

    terzo, per chi ne avesse bisogno in futuro il codice x il controllo sul campo check box è il seguente:
    }else if (document.iscrizione.consenso.checked == false) {
    alert('Attenzione: deve dare il consenso al trattamento dei dati per potersi iscrivere alla newsletter!');
    return false;
    ciao e buona giornata

    cmq giusto x inciso "all'ora" come hai scritto te nel contesto della tua frase è sbagliato..avresti dovuto scrivere "allora"..ok non conoscere la grammatica (non lo condivido ma è un classico ormai..però sono cose che si imparano alle elementari..)

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2000
    Messaggi
    938
    Ciao,

    è giusto come a scritto Xinod usando la negazione unitaria ! , NOT o diverso

    se (diverso ...........){
    alert("")
    return false;

    ma nella risposta l'esempio è lo stesso senza !

    funziona regolarmente anche come lo hai scritto tu == false

    essendo controlli su valori booleani i quali possono avere valore true o false equivalente di 1 o 0

    se la condizione è falsa parte l'alert se è vera (campo compilato con almeno un carattere, da come lo hai impostato la condizione) è vera, e passa al controllo successivo.

    Ricorda (visto come hai impostato le condizioni == '' tu controlli se viene inserito almeno un qualsiasi carattere della tastiera) ricorda che c'è la barra spaziatrice che è un carattere , Ascii %20 , qindi se nei campi richiesti metto uno spazio la condizione risulta VERA true e ti ritrovi con un modulo inviato vuoto.

    Per il campo dove contolli la mail ti consiglio una Espressione Regolare (Regular Expression) almeno da costringere l'utente a scrivere la mail secondo un certo criterio e non con l'inserimento di un carattere.

    Massimo

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    155
    grazie mille massimo,

    il codice che ho riportato è la seconda prova che ho fatto, prima ho provato anche con il punto esclamativo ma non mi dava il risultato voluto.

    per la questione dei campi compilati vuoti posso anche sorvolare, il form è un form di iscrizione ad una newsletter. Come clausola nell'informativa sulla privacy ho specificato che se anche uno solo dei campi risultasse scorretto l'effetto sarebbe l'immediata cancellazione dell'utente dal database.

    grazie ancora massimo

    buona giornata!

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2000
    Messaggi
    938
    Ciao,

    con la negazione unitaria e button - submit:


    <script language="JavaScript">
    function controlli() {
    if (document.iscrizione.cognome.value=='') {
    alert('Attenzione: inserisca Cognome!');
    return false;
    }else if (document.iscrizione.nome.value=='') {
    alert('Attenzione: inserisca Nome!');
    return false;
    }else if (document.iscrizione.mail.value=='') {
    alert('Attenzione: inserisca indirizzo E-mail!');
    return false;
    }else if (!document.iscrizione.consenso.checked) {
    alert('Attenzione: deve dare il consenso al trattamento dei dati per potersi iscrivere alla newsletter!');
    return false;
    }else{
    return true;
    }
    }
    </script>
    </head>
    <body>

    con la negazione unitaria e button - onclick():

    <script language="JavaScript">
    function controlli() {
    if (document.iscrizione.cognome.value=='') {
    alert('Attenzione: inserisca Cognome!');
    return false;
    }else if (document.iscrizione.nome.value=='') {
    alert('Attenzione: inserisca Nome!');
    return false;
    }else if (document.iscrizione.mail.value=='') {
    alert('Attenzione: inserisca indirizzo E-mail!');
    return false;
    }else if (!document.iscrizione.consenso.checked) {
    alert('Attenzione: deve dare il consenso al trattamento dei dati per potersi iscrivere alla newsletter!');
    return false;
    }else{
    return true;
    }
    }
    </script>
    </head>
    <body>

    <form name="iscrizione">
    <input type="text" name="cognome">
    <input type="text" name="nome">
    <input type="text" name="mail">
    <input type="checkbox" value="0" name="consenso">
    <input type="button" onclick="javascript:controlli()" value="Inserisci">
    </form>

    Puoi provare e funziona correttamente.

    Massimo

  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2000
    Messaggi
    938
    Ciao,

    sorry dimenticato il form

    <script language="JavaScript">
    function controlli() {
    if (document.iscrizione.cognome.value=='') {
    alert('Attenzione: inserisca Cognome!');
    return false;
    }else if (document.iscrizione.nome.value=='') {
    alert('Attenzione: inserisca Nome!');
    return false;
    }else if (document.iscrizione.mail.value=='') {
    alert('Attenzione: inserisca indirizzo E-mail!');
    return false;
    }else if (!document.iscrizione.consenso.checked) {
    alert('Attenzione: deve dare il consenso al trattamento dei dati per potersi iscrivere alla newsletter!');
    return false;
    }else{
    return true;
    }
    }
    </script>
    </head>
    <body>

    <form name="iscrizione" onsubmit="return controlli()">
    <input type="text" name="cognome">
    <input type="text" name="nome">
    <input type="text" name="mail">
    <input type="checkbox" value="0" name="consenso">
    <input type="submit" value="Inserisci">
    </form>

    Massimo

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.