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?