2010-11-13 14 views
0

Je souhaite que le navigateur démarre en vérifiant si un cookie portant le nom "yes" existe.Recherche de cookie sur le chargement de la page

Si oui, je veux afficher un message.

Sinon, je veux afficher ceci:

<input type="button" id='approve' value="approve" onclick="a()"/> 
<input type="button" id='reject' value="reject" onclick="r()"/> 

Comment puis-je y parvenir? Je veux que ce soit le côté client.

+0

Pourquoi avez-vous supprimé le code que vous aviez déjà? Et je suppose que vous voulez dire avec "affichage" (2ème fois) "insérer dans le DOM"? –

+0

Je pensais que je le rendrais plus facile à comprendre ... devrais-je le remettre? – ryan

+0

Je suis déjà vu. Je ne suppose pas que ce soit quelque chose à voir avec http://stackoverflow.com/q/4173586/393783? –

Répondre

1

Le moyen rapide et sale serait d'utiliser document.write() en ligne. Disons qu'il existe une fonction getter cookie prédéfini:

// taken from http://www.elated.com/articles/javascript-and-cookies/ 
function get_cookie (cookie_name){ 
    var results = document.cookie.match ('(^|;) ?' + cookie_name + '=([^;]*)(;|$)'); 
    if (results) 
    return (unescape (results[2])); 
    else 
    return null; 
} 

puis dans votre html quelque part:

<div id="container"> 
    <script> 
    if (get_cookie("cookiename") == null){ 
     document.write("[cookie exists message]") 
    } else { 
     document.write('<input type="button" id='approve' value="approve" onclick="a()"/><input type="button" id='reject' value="reject" onclick="r()"/>') 
    } 
    </script> 
</div> 

Si vous voulez rendre après la page a été chargée:

function showit(){ 
    var myhtml; 
    if (get_cookie("cookiename") == null){ 
     myhtml = "some message"; 
    } else { 
     myhtml = '<input type="button" id='approve' value="approve" onclick="a()"/><input type="button" id='reject' value="reject" onclick="r()"/>' 
    } 
    document.getElementById("container").innerHTML = myhtml; 
}