Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di debugger84
    Registrato dal
    Oct 2019
    residenza
    Orani (NU)
    Messaggi
    11

    Problemi con la Checkbox

    Buonasera, ho realizzato un sito web per un negozio di prodotti cosmetici di una mia amica per poterli vendere anche online. Fino a un mese fa tutto bene, ma quando ho cominciato ad aggiungere codice al sito per poterlo rendere navigabile anche dal cellulare tramite la tecnica del @media screen, ho trovato un tutorial per poter realizzare un menu a scomparsa senza usare gli script, tutto con html5 e css3, e funziona perfettamente. Questo tutorial prevede la creazione di una checkbox che deve rimanere sempre nascosta e visualizza il menu con le tre righe orizzontali.
    Nella pagina delle prenotazioni c'è un'altra checkbox, realizzata da me, per accettare l'informativa sulla privacy e procedere con l'ordinazione. Con la creazione del menu a scomparsa ho scoperto che la checkbox della privacy era diventata invisibile. Ho dato un id a quella checkbox e ho risolto il problema settandola come "display: block".
    Ora emerge un altro problema: sia che la selezioni che se la deselezioni mi compare lo stesso messaggio di errore. Questo è il codice per la checkbox:

    <script type="text/javascript">
    function GetCheckedState () {
    var consensoValue = document.getElementById ("consenso");
    var isChecked = consensoValue.checked;
    isChecked = (isChecked)? "Hai dato il tuo consenso al trattamento dei dati. Procedi con l'ordine." : "Attenzione. Non hai dato il tuo consenso al trattamento dei dati. Devi dare il tuo consenso per poter procedere con l'ordine.";
    alert ("PARAFARMACIA *******: " + isChecked);
    }
    </script>

    <label id="consenso">Informativa sulla privacy:
    * </label>
    <div id="consenso2">
    <input type="checkbox" name="consenso"
    id="consenso" required="campo obbligatorio" onclick="GetCheckedState ();" style="display:block; float: left;"/> <label>Ho letto l'<a href="../../informativa.html">informativa sulla privacy</a> del sito e
    <br/>fornisco il consenso al trattamento dei dati.</label>
    </div>
    <script>var consensoValue = document.getElementById('consenso');</script>

    Perché prima funzionava e ora mi compare sempre, anche quando la seleziono, il messaggio di errore che mi dice di non aver dato il mio consenso? C'è qualche errore nel codice?

  2. #2
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Ciao e benvenuto, la prima cosa che salta all'occhio è che stai usando lo stesso id per definire elementi diversi all'interno dello stesso documento.
    codice:
    <label id="consenso">
    ...
    <input type="checkbox" name="consenso" id="consenso"
    Gli id devono essere necessariamente univoci. Il metodo getElementById() infatti va a selezionare solo il primo elemento che viene trovato con tale id.

    Questo:
    codice:
    document.getElementById("consenso")
    ti seleziona l'elemento label che è chiaramente l'elemento sbagliato.

    Correggi gli id assicurandoti di assegnare dei valori diversi.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  3. #3
    Utente di HTML.it L'avatar di debugger84
    Registrato dal
    Oct 2019
    residenza
    Orani (NU)
    Messaggi
    11
    Grazie mille, problema risolto! Certo che hai un occhio da falco! Era proprio questo che faceva funzionare male la checkbox. Grazie mille. Come si mette "risolto"?

  4. #4
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Bene

    Come si mette "risolto"?
    Non è usanza di questo forum mettere "risolto", puoi lasciare tranquillamente così.

    Buon proseguimento
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

Tag per questa discussione

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.