Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Problema checkbox

  1. #1

    Problema checkbox

    Salve a tutti,
    Innanzitutto colgo l'occasione per presentarmi, mi chiamo Luca e scrivo da Brescia, attualmente lavoro per una ditta che produce serramenti, seguo da parecchi anni il sito ma non mi sono mai registrato.
    Detto questo passo ad esporvi il mio problema, visto che grazie ad un po' di passione ed esperienza personale ho un po' di nozioni di html, la mia ditta mi ha chiesto di realizzare i siti internet di 3 aziende del nostro principale, in qualche settimana ho eseguito, i siti sono già belli che pronti e attualmente online e funzionanti, quasi perfettamente.
    Il quasi si riferisce alla sezione contatti, nel quale un potenziale cliente deve poter inserire dei dati tramite i vari form, e quindi spuntare una checkbox nella quale dichiara di aver accettato l'informativa sulla privacy ( con link incorporato ) . Se questo viene eseguito il tasto Invia! dovrebbe abilitarsi per permettere l'invio del tutto tramite email.
    la pagina in generale funziona, se tolgo tutta la sezione relativa alla checkbox invia tutto correttamente aprendo il client di posta ecc... non avendo nessuna conoscenza in script, php e roba varia, il sito è stato completamente realizzato in HTML, ho cercato quindi uno script per fare questo "giochetto" della checkbox obbligatoria. Spulciando sul sito ne avevo trovato uno, inserito e tutto sembrava funzionare per il meglio, almeno con chrome, infatti con Explorer e Firefox non funge... vi metto sotto spoiler il codice attuale

    codice:
    <html>
    <head><title>ABS s.r.l.</title><script type="text/javascript" language="javascript">
    <!--
    var checkobj
    function accetta(el){
    checkobj=el
    if (document.all||document.getElementById){
    for (i=0;i<checkobj.form.length;i++){
    var tempobj=checkobj.form.elements[i]
    if(tempobj.type.toLowerCase()=="submit")
    tempobj.disabled=!checkobj.checked
    }
    }
    }
    function disabilita(el){
    if (!document.all&&!document.getElementById){
    if (window.checkobj&&checkobj.checked)
    return true
    else{
    alert("Per favore accetta i termini del contratto")
    return false
    }
    }
    }
    -->
    </script></head>
    <body bgcolor=#E4E4E4>
    
    
    
    
    
    <font face="arial" color="black">
    
    <form name="datiUtente" enctype="text/plain" method="post" action="mailto:info@abs-serramenti.it?subject=Richiesta da Sito" >
    
     <fieldset>
      <legend>Dati Utente</legend>
      <label><input name="Ragione Sociale" type="text" size="20" maxlength="60"/> Ragione Sociale  </label>
    
      <label><input name="Nome e Cognome del responsabile" type="text" size="20" maxlength="60"> Nome e Cognome del responsabile </label>
    
      <label><input name="Indirizzo" type="text" size="20" maxlength="60"/> Indirizzo  </label>
    
      <label><input name="CAP" type="text" size="20" maxlength="5"/> CAP </label>
    
      <label><input name="Comune" type="text" size="20" maxlength="60"/> Comune  </label>
    
      <label><input name="Provincia" type="text" size="20" maxlength="30"/> Provincia  </label>
    
      <label><input name="E-Mail" type="text" size="20" maxlength="70"/> E-Mail  </label>
    
      <label><input name="Telefono" type="text" size="20" maxlength="30"/> Telefono  </label>
    
    
    
    
    
     </fieldset>
    
    
     <fieldset>
      <legend>Questionario</legend>
      <label>Come siete venuto a conoscenza di ABS ?
    
       <select name="Venuto a conoscenza di ABS tramite" size="3" multiple="multiple">
        <option value="Pubblicità">Pubblicità</option>
        <option value="Sito internet">Sito Internet</option>
        <option value="Conoscenze">Conoscenze</option>
       </select>
      </label>
    
    
      <legend></legend>
      <label>Richiesta:
    
       <textarea name="Richiesta" cols="50" rows="5" maxlenght="100000000">
       </textarea>
      </label>
     </fieldset>
    <input name="Informativa privacy" type="checkbox" onClick="accetta(this)">Dichiaro di aver letto e accettato l'informativa sulla privacy
    
    
     <button type="reset">Reset</button>
     
     <input type="Submit" value="Invia!" disabled onClick ="document.modulo.submit()">
    
    </font>
    </body>
    Sinceramente io ho solo inserito lo script, magari anche in maniera errata, se qualcuno mi può individuare l'errore e correggermelo mi farebbe un grande piacere(anche una soluzione migliore ovviamente è bene accetta ), come ho detto prima ho solo nozioni di html, e quindi mi risulta parecchio difficile

    Grazie mille in anticipo per le risposte.

  2. #2
    Ciao Articat, benvenuto sul forum.
    Ho provato il codice, e sembra che IE e FF acquisiscano tutti gli elementi della pagina invece del solo pulsante submit quando viene eseguita la riga
    codice:
    var tempobj=checkobj.form.elements[i]
    così il browser non riesce a verificare la proprietà type, ma è bastato togliere il controllo e acquisire l'oggetto tramite id.

    Ecco il codice corretto:
    codice:
    <html>
    <head><title>ABS s.r.l.</title><script type="text/javascript" language="javascript">
    <!--
    var checkobj
    function accetta(el){
    checkobj=el
    if (document.all||document.getElementById){
    for (i=0;i<checkobj.form.length;i++){
    var tempobj=document.getElementById("submit_button");
    tempobj.disabled=!checkobj.checked
    }
    }
    }
    function disabilita(el){
    if (!document.all&&!document.getElementById){
    if (window.checkobj&&checkobj.checked)
    return true
    else{
    alert("Per favore accetta i termini del contratto")
    return false
    }
    }
    }
    
    -->
    </script></head>
    <body bgcolor=#E4E4E4>
    
    
    
    
    
    <font face="arial" color="black">
    
    <form name="datiUtente" enctype="text/plain" method="post" action="mailto:info@abs-serramenti.it?subject=Richiesta da Sito" >
    
     <fieldset>
      <legend>Dati Utente</legend>
      <label><input name="Ragione Sociale" type="text" size="20" maxlength="60"/> Ragione Sociale  </label>
    
      <label><input name="Nome e Cognome del responsabile" type="text" size="20" maxlength="60"> Nome e Cognome del responsabile </label>
    
      <label><input name="Indirizzo" type="text" size="20" maxlength="60"/> Indirizzo  </label>
    
      <label><input name="CAP" type="text" size="20" maxlength="5"/> CAP </label>
    
      <label><input name="Comune" type="text" size="20" maxlength="60"/> Comune  </label>
    
      <label><input name="Provincia" type="text" size="20" maxlength="30"/> Provincia  </label>
    
      <label><input name="E-Mail" type="text" size="20" maxlength="70"/> E-Mail  </label>
    
      <label><input name="Telefono" type="text" size="20" maxlength="30"/> Telefono  </label>
    
    
    
    
    
     </fieldset>
    
    
     <fieldset>
      <legend>Questionario</legend>
      <label>Come siete venuto a conoscenza di ABS ?
    
       <select name="Venuto a conoscenza di ABS tramite" size="3" multiple="multiple">
        <option value="Pubblicità">Pubblicità</option>
        <option value="Sito internet">Sito Internet</option>
        <option value="Conoscenze">Conoscenze</option>
       </select>
      </label>
    
    
      <legend></legend>
      <label>Richiesta:
    
       <textarea name="Richiesta" cols="50" rows="5" maxlenght="100000000">
       </textarea>
      </label>
     </fieldset>
    <input name="Informativa privacy" type="checkbox" onClick="accetta(this)">Dichiaro di aver letto e accettato l'informativa sulla privacy
    
    
     <button type="reset">Reset</button>
        
     <input type="Submit" value="Invia!" disabled onClick ="document.modulo.submit()" id="submit_button">
    
    </font>
    </body>
    </html>
    Comunque, come pensi di fare la pagina che riceve i dati se conosci solo html e non un linguaggio di scripting server-side come php o asp?
    Se invece la pagina non la crei tu, verifica che anche quella controlli lo stato della checkbox, perchè JS è lato client e quindi facilmente manipolabile dall'utente.

    Ti consiglio anche di usare un tag <noscript> per avvertire l'utente quando javascript è disattivato, altrimenti non gli sarà possibile usare il form.

    La differenza fra la genialità e la stupidità è che la genialità ha i suoi limiti.


  3. #3

    Perchè non mi funziona la checkbox???

    Ciao a tutti, mi chiamo Silvia e ho un problema con le checkbox.
    Ho scritto un codice html molto banale: ho 4 checkbox ognuna relativa ad un frutto, l'utente
    deve selezionare una o più checkbox a seconda del frutto che gli piace.
    Ho creato una funzione che dovrebbe controllare se almeno una checkbox è stata selezionata, in caso contrario dovrebbe scattare un alert che avvisa l'utente che non è stata selezionata alcuna checkbox.....ma non funziona!!! Ecco di seguito il codice....spero che qualcuno mi riesca a spiegare questo "mistero"....grazie in anticipo.
    -------
    <script language="JavaScript" type="text/javascript" src="struts/someScript.js">
    function verifica() {
    var cb = document.getElementsByTagName('input');
    for (int i=0; i<cb.length; i++) {
    if (cb[i].checked=="unchecked")
    alert("Scegli almeno un frutto!!!");
    return false;
    } else
    return true;
    }
    </script>
    </head>
    <body>
    <form name='MioForm' method='post' action='controllo.jsp' onClick="verifica()">
    <font size=4 color='red'>
    Scegli il tuo frutto preferito:

    <input type='checkbox' name='fruit' value='Mela'>Mela

    <input type='checkbox' name='fruit' value='Banana'>Banana

    <input type='checkbox' name='fruit' value='Pera'>Pera

    <input type='checkbox' name='fruit' value='Melograno'>Melograno

    <input type='submit' name='submit' value='Invia'>

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.