2010-11-14 21 views
0
if(getCookie("response") == null) 
{ 
document.getElementById('hide').style.display = 'none'; 
alert("Yipee"); 
} 

else 
{ 

//on approve creating a new cookie 
function a() 
{ 
var a = document.getElementById('approve'); 
document.getElementById('hide').style.display = 'none'; 
var expDate = new Date(); 
expDate.setDate(expDate.getDate() + 7); 
document.cookie = 'response=approve;expires=' + expDate.toUTCString(); 
alert(document.cookie); 
} 

//on reject creating a new cookie 

function r() 
{ 
var a = document.getElementById('reject'); 
document.getElementById('hide').style.display = 'none'; 
var expDate = new Date(); 
expDate.setDate(expDate.getDate() + 7); 
document.cookie = 'response=reject;expires=' + expDate.toUTCString(); 
alert(document.cookie); 
} 

} 

</script> 

<body> 
<div id="hide"> 
<form> 
<p id="p">Heya!</p> 

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

C'est mon code ... Je veux cacher un élément si un cookie existe et sinon, je veux aller de l'avant et afficher le formulaire. Quoi qu'il en soit, le formulaire est toujours affiché et la boîte d'alerte "yipee" n'apparaît pas.Utiliser Javascript pour GetCookie

Je vérifie avec Chrome et il a le cookie appelé réponse pour localhost.

Merci pour votre aide.

+0

quelqu'un peut-il aider? – ryan

+0

Et où est votre fonction getCookie? – epascarello

+0

Et vous appelez le code avant que les éléments sont rendus. Voir la console d'erreur JavaScript, je suis sûr que vous avez des tonnes de messages d'erreur. – epascarello

Répondre

0

S'il s'agit d'un extrait de code de la page et qu'il apparaît dans cet ordre, cela ne fonctionnera pas. Vous testez l'existence du cookie "response" et essayez ensuite de masquer les éléments DOM avant les les éléments DOM sont là pour se cacher en premier lieu. Essayez de déplacer le bloc script dans le bas du body et de voir si cela fait une différence. Je pense que ça le sera probablement.

+0

ne fonctionne pas ... – ryan

+0

Je veux cacher l'élément "HIde" si un cookie est présent. – ryan

+0

pouvez-vous aider ????? – ryan

2

peut-être au lieu de getCookie utiliser

c_start=document.cookie.indexOf("mycookie="); 
if (c_start!=-1){ 
//cookie exists 
} 
+0

hey ... ça a marché .... merci beaucoup .... mais l'élément ne se cache pas ... seule la boîte d'alerte est affichée – ryan

+0

pouvez-vous aider? Merci – ryan