Ciao ragazzi, ho la necessità di far mantenere un testo inserito dall'utente (tramite form) per 30 giorni e che questo testo resti visibile su ogni pagina del sito. Ho pensato di gestire la cosa tramite cookies ma non ci sono riuscito. Posto il codice:
HTML
codice:<body onload="verificaCookie()"> <a href="JavaScript:window.alert(document.cookie.split(';').join(''))">Tutti i cookies</a> //restituisce tutti i cookies <div id="div_form"> <form id="myform" method="post" action="#" onsubmit="send()"> <input id="myinput" type="text" name="myinput" size="20" maxlength="30" value="Messaggio..."/> <input type="button" value="Send" onclick="send()"/> </div> <div id="msg"><p id="mgs_view"></p></div> </form> </div> </body>
JAVASCRIPT
codice:if(!navigator.cookieEnabled) { alert("Non hai i cookie abilitati."); } function scriviCookie(nomeCookie,valoreCookie,durataCookie){ var scadenza = new Date(); var adesso = new Date(); scadenza.setTime(adesso.getTime() + (parseInt(durataCookie) * 60000)); document.cookie = nomeCookie + '=' + escape(valoreCookie) + '; expires=' + scadenza.toGMTString() + '; path=/'; } function leggiCookie(nomeCookie){ if (document.cookie.length > 0){ var inizio = document.cookie.indexOf(nomeCookie + "="); if (inizio != -1){ inizio = inizio + nomeCookie.length + 1; var fine = document.cookie.indexOf(";",inizio); if (fine == -1) fine = document.cookie.length; return unescape(document.cookie.substring(inizio,fine)); } else{ return ""; } } return ""; } function verificaCookie(){ var res = leggiCookie("testo"); if(res != ""){ document.getElementById("div_form").innerHTML = res + ""; } } function send() { var testo = document.getElementById("myinput").value; scriviCookie("testo", testo, 30); document.getElementById("mgs_view").innerHTML = testo; }
Facendo in questo modo non funziona, eppure i cookies sono abilitati. Con Chrome proprio non va, mentre con Firefox noto che il cookie me lo salva ma non mi mostra il testo..
Aiuto![]()

Rispondi quotando