Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2012
    Messaggi
    35

    script per checkbox regolamento e privacy

    Salve a tutti

    Sto da poco studiando i linguaggi php e js e, per esercitarmi, sto realizzando (in html) un form di contatto che in futuro vorrò inserire in un sito.

    Per la funzione email ho collegato la pagina a un file php, mentre per il controllo sul corretto riempimento dei campi l'ho collegato a un secondo file in js.

    Sto provando anche a inserire una checkbox per far si che l'utente dimostri di aver accettato un regolamento (sistema da utilizzare eventualmente anche per la policy sulla privacy) ma non ne riesco proprio a venirne a capo.

    In particolare, vorrei che (come per i controlli per gli altri campi "nome", "cognome", etc) il checkbox apparisse non selezionato al caricamento della pagina e se non selezionato dall'utente alla fine del riempimento del modulo, apparisse l'alert specificato nello script.

    Come già detto, sono un neofita, e dopo ore di info raccolte sul web, non riesco a farlo funzionare. Praticamente com'è adesso mi restituisce l'alert sia con il checbox spuntato che non.

    Di seguito posto i codici html e js:

    formpage in html:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="it" lang="it">

    <head>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
    <title>Form di contatto</title>
    <script type="text/javascript" src="validator.js"></script>
    </head>

    <body>

    <form action="./form.php" method="post" name="form">


    <table border="1">
    <tr>
    <td><span>Nome</span></td>
    <td><input type="text" name="Nome" size="30" value="" /></td>

    <td><span>Cognome</span></td>
    <td><input type="text" name="Cognome" size="30" value="" /></td>
    </tr>
    </table>


    <table border="1">
    <tr>
    <td><span>Date soggiorno</span></td>
    <td><span>dal</span><input type="text" name="dal" size="10" value="" /></td>
    <td><span>al</span><input type="text" name="al" size="10" value="" /></td>
    </tr>
    </table>


    <table border="1">
    <tr>
    <td><span>Persone</span></td>

    <td>
    <span>num. adulti</span>

    <select name="Adulti">
    <option>0</option>
    <option>1</option>
    <option>2</option>
    <option>3</option>
    <option>4</option>
    <option>5</option>
    <option>6</option>
    <option>7</option>
    </select>
    </td>

    <td>
    <span>num. bambini</span>

    <select name="Bambini">
    <option>0</option>
    <option>1</option>
    <option>2</option>
    <option>3</option>
    <option>4</option>
    <option>5</option>
    <option>6</option>
    <option>7</option>
    </select>
    </td>

    </tr>
    </table>

    <table border="1">
    <tr>
    <td><span>Animali domestici</span></td>

    <td>
    <select name="Animali">
    <option>0</option>
    <option>1</option>
    <option>2</option>
    <option>3</option>
    <option>4</option>
    </select>
    </td>
    </tr>
    </table>


    <table border="1">
    <tr>
    <td><span>Email</span></td>
    <td><input type="text" name="Email" size="40" value="" /></td>
    </tr>
    </table>

    <table border="1">
    <tr>
    <td><span>Telefono</span></td>
    <td><input type="text" name="Telefono" size="40" value="" /></td>
    </tr>
    </table>


    <table border="1">
    <tr>
    <td valign="top"><span>Note</span></td>
    <td><textarea rows="6" name="Note" cols="50"></textarea></td>
    </tr>
    </table>

    <table border="1">
    <tr>
    <td><span>Ho letto e accetto la sezione "Regolamento e Termini"</span></td>
    <td><input type="checkbox" name="Regolcheck" checked="" /></td>
    </tr>
    </table>

    <table border="1">
    <tr>
    <td colspan="2" valign="bottom" align="center" height="30">
    <input type="submit" value="Invia" onclick="return thisform(this.form)" />
    <input type="reset" value="Cancella" /></td>
    </tr>
    </table>

    </form>

    </body>
    </html>


    file di controllo in js (l'istruzione if per il checkbox è l'ultima):


    function thisform(form) {

    if(form.Nome.value == "") {
    alert('Attenzione: Campo "nome" vuoto');
    return false;
    }

    if(form.Cognome.value == "") {
    alert('Attenzione: Campo "cognome" vuoto');
    return false;
    }

    if(form.Adulti.value == "0") {
    alert('Attenzione: Campo "num. adulti" vuoto');
    return false;
    }

    if(form.Bambini.value == "0") {
    alert('Attenzione: Campo "num. "bambini" vuoto');
    return false;
    }

    if(form.Email.value == "") {
    alert('Attenzione: Campo "Email" vuoto');
    return false;
    }else{
    var mail = form.Email.value;
    var regE = /^[a-zA-Z]+(([\'\,\.\- ][a-zA-Z ])?[a-zA-Z]*)*\s+&lt;(\w[-._\w]*\w@\w[-._\w]*\w\.\w{2,3})&gt;$|^(\w[-._\w]*\w@\w[-._\w]*\w\.\w{2,3})$/;
    var result = mail.match(regE);
    if(!result) {
    alert('Attenzione: Formato email non valido');
    return false;
    }
    }


    if(form.Telefono.value == "") {
    alert('Attenzione: Campo "Telefono" vuoto');
    return false;
    }

    if(form.Regolcheck.checked == "") {
    alert('Attenzione: Dimostrare di aver letto e accettare la sezione "Regolamento e Termini".\nSi prega di spuntare l\'apposita casella');
    return false;
    }

    }

    Grazie mille per qualsiasi aiuto

    alx17

  2. #2
    per non farlo apparire già spuntato rimuovi l'attributo checked=""

    per il controllo modifica così questa riga

    codice:
    if(form.Regolcheck.checked == "false") {
    alert('Attenzione: Dimostrare di aver letto e accettare la sezione "Regolamento e Termini".\nSi prega di spuntare l'apposita casella');
    return false;
    }
    dovrebbe funzionare
    fammi sapere


  3. #3
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    Il valori boleani false/true non sono stringhe o fai cosi
    if(form.Regolcheck.checked == false)
    o cosi
    if(!form.Regolcheck.checked)// != negazione
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  4. #4
    Originariamente inviato da cavicchiandrea
    Il valori boleani false/true non sono stringhe o fai cosi
    if(form.Regolcheck.checked == false)
    o cosi
    if(!form.Regolcheck.checked)// != negazione
    ops scusatemi
    correggendoli non ci ho pensato

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2012
    Messaggi
    35
    Grazie a tutti per i validissimi consigli.

    Risolto perfettamente e imparato qalcosa in più!!!

    alx17

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 © 2024 vBulletin Solutions, Inc. All rights reserved.