begin process at 2012 05 29 18:57:08
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript Orienté objet (POO)

 > 

Function & Méthodes

 > 

Problème de cookie


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème de cookie

lundi 18 août 2008 à 22:39:11 | Problème de cookie

molko13

Bonsoir à tous,

Cela fait plusieurs jours que je me casse les dents sur la gestion d'un cookie qui serait à terme utilisé pour gérer l'affichage ou de <div>. J'ai essayé de voir ce que pouvait faire mon ami google, mais ca ne semble pas suffisant, j'aimerai donc si possible que quelqun m'aide à éclaircir ce mystère.

Voici le code

Merci de votre indulgence et de votre aide.


[CODE]
<script type="text/javascript">



// script pour ecrire le cookie

function SetCookie (name, value) {

    var argv=SetCookie.arguments;

    var argc=SetCookie.arguments.length;

    var expires=(argc > 2) ? argv[2] : null;

    var path=(argc > 3) ? argv[3] : null;

    var domain=(argc > 4) ? argv[4] : null;

    var secure=(argc > 5) ? argv[5] : false;

    document.cookie=name+"="+escape(value)+

        ((expires==null) ? "" : ("; expires="+expires.toGMTString()))+

        ((path==null) ? "" : ("; path="+path))+

        ((domain==null) ? "" : ("; domain="+domain))+

        ((secure==true) ? "; secure" : "");
}



// script pour lire le cookie



function getCookieVal(offset) {

    var endstr=document.cookie.indexOf (";", offset);

    if (endstr==-1)

              endstr=document.cookie.length;

    return unescape(document.cookie.substring(offset, endstr));

}

function GetCookie (name) {

    var arg=name+"=";

    var alen=arg.length;

    var clen=document.cookie.length;

    var i=0;

    while (i<clen) {

        var j=i+alen;

        if (document.cookie.substring(i, j)==arg)

                        return getCookieVal (j);

                i=document.cookie.indexOf(" ",i)+1;

                        if (i==0) break;}

    return null;

}

SetCookie("display",document.getElementById('q3').style.display;,date_exp,therealleague.com);

// script pour le expand-collapse

appear=function(id) {

var d = document.getElementById(id);

var pathname=location.pathname;

var myDomain=pathname.substring(0,pathname.lastIndexOf('/')) +'/';

var date_exp = new Date();

date_exp.setTime(date_exp.getTime()+(365*24*3600*1000));

 if (d.style.display!="none") {

d.style.display ="none";

cook=document.getElementById('q3').style.display;

alert(cook.value);

// on appelle le script et on crée le cookie avec la valeur de document.getElementById('q3').style.display


SetCookie("display",document.getElementById('q3').style.display;,date_exp,therealleague.com);


} else {

d.style.display ="inline";

cook=document.getElementById('q3').style.display;

alert(d.style.display.value);

SetCookie("display","document.getElementById('q3').style.display;",date_exp,therealleague.com);

 }

}

//interface

SetCookie("display","document.getElementById('q3').style.display;",date_exp,therealleague.com);



// on l'appelle et on lit.

display=GetCookie("display");

document.write(display);

alert(display.innerHTML);

//interface

</script>

<a href="javascript:appear('q3')">héhé</a>

<div id='q3'style="display:none">lala</div></div>
lundi 18 août 2008 à 22:45:00 | Re : Problème de cookie

molko13

Mes <div> s'affichent bien lorsque je clique sur le lien. Par contre je n'arrive pas à récupérer la valeur de l'attribut style de l'élément 'q3' afin de pouvoir par la suite l'insérer dans le cookie puis le lire et ainsi afficher ou non la div en fonction du cookie.
mardi 19 août 2008 à 10:29:46 | Re : Problème de cookie

bultez

Membre Club
bonjour,
si je comprend ce que tu veux faire :
réafficher la div "q3" si elle le fût précedemment ?
tu te complqiues drôelemnt les cookies !
remarques que c'est normal, tous les exemples qu'on trouve
               embreouillent à loisir
ch'tiot exemple "tout s"imple"
<body>
<a     href="javascript:void(aff());">héhé</a>
<div    id='q3'
        style="display:none">lala</div>
<script>
    function aff()
    {   document.getElementById("q3").style.display="inline";
        var da = new Date();
        var d = new Date( Date.parse(da) + ( 1000*60*60*24*365 ) );
        document.cookie = "on s'en tamponne le cookillard" +
                                ";expires=" + d.toGMTString() + ";" ;
    }
    if ( document.cookie )
    {    document.getElementById("q3").style.display="inline";    }
</script>
</body>

ici on ne fait que tester si le cookie existe, ce qui est
    peut-être largement suffisant.

si tu veux mémoriser l'étatt du div,
"il suffit" de mettre         document.cookie = document.getElementById("q3").style.display +
                                                                ";expires=" + d.toGMTString() + ";" ;
               pour le réutiliser tel quel.

si tu as plusieurs div, mémoriser l'état de ces div séparés par ";"
un petit split pour réétudier la contenu....

Cordialement        Bul     [mon Site]   [M'écrire]
mardi 19 août 2008 à 18:42:55 | Re : Problème de cookie

molko13

C'est exactement ca Bultez!

Je m'y colle de suite, merci pour ton aide.

mardi 19 août 2008 à 21:08:09 | Re : Problème de cookie

molko13

Bon nette avancée grâce à un tuto qu'on m'a filé sur un autre site.

tout marche sauf que cette ligne semble ne pas fonctionner vu que la div s'affiche quoi qu'il arrive et même si le cookie lui dit de bien s'afficher, quelqu'un voit une erreur de syntaxe?
<div    id='q3'
style="display:GetCookie('TRL_display')">lala</div>
mercredi 20 août 2008 à 08:43:21 | Re : Problème de cookie

bultez

Membre Club
1° mais pourquoi passer par une fonction ( GetCookie ) qu'on n'a d'ailleurs pas ?
    document.cookie ça doit baigner ( comme dans mon exemple )
    ou alors la gestion du cookie est encore trop complquée et probablement inutile
2° un style fait appel à du css, pas à du javascript.
    il faut faire <script> document.getElementById("q3").style.display=document.cookie; </script>
Cordialement         Bul    [mon Site]  [M'écrire]
mercredi 20 août 2008 à 18:08:40 | Re : Problème de cookie

molko13

Merci de ta réponse!

1° je te copie/colle mon code ci-dessous. Tu verras que grâce à un tuto j'ai épuré tout ca et je pense que c'est assez cohérent. Je me sers de la fonction GetCookie pour récupérer une partie du cookie qui contient deja d'autres données.

2° Pas con! je ne le savais pas. J'ai bien cru que ca expliquait mon problème mais ca ne marche toujours pas :/

<body>
<a href="javascript:void(affiche('q3'));">héhé</a>
<div id='q3'
style="display:none">lala</div>

<script>
// fonction qui crée le cookie
 
function SetCookie(name, value, days){
var expire = new Date ();
expire.setTime(expire.getTime() + (24 * 60 * 60 * 1000) * days);
document.cookie = name + "=" + escape(value) + "; expires=" +expire.toGMTString();
}
//fonction qui lit le cookie
function GetCookie(name){
var startIndex = document.cookie.indexOf(name);
if(startIndex != -1){
var endIndex = document.cookie.indexOf(";", startIndex);
if(endIndex == -1) endIndex = document.cookie.length;
return unescape(document.cookie.substring(startIndex+name.length+1, endIndex));
}
else{
returnnull;
}
}
function affiche(id){
 
if(document.getElementById(id).style.display != "none"){
document.getElementById(id).style.display= "none";
SetCookie('TRL_display','none','365');
}else{
document.getElementById(id).style.display= "inline";
SetCookie('TRL_display','inline','365');
}
 
}
//alert(GetCookie('TRL_display'));
document.getElementById("q3").style.display=GetCookie('TRL_display');
;
</script>
</body>

mercredi 20 août 2008 à 18:52:57 | Re : Problème de cookie

molko13

Réponse acceptée !
Bon et bien merci à tous car ca marche niquel.

Le code ci-dessus fonctionne parfaitement!!!


Cette discussion est classée dans : style, var, document, display, cookie


Répondre à ce message

Sujets en rapport avec ce message

remettre des input radio à vide [ par joujma5 ] bonjour j'ai un bout de code qui me gène je veux bien remettre les input radio vides(!=checked) on rafraîchissant la page web.voici le code: funct Pb avec IE [ par Thiman ] j'ai mis ce script d'info-bulle, trouver sur internet. Il fonctionne parfaitement sur Firefox et Opéra mais problème avec IE. Pourriez-vous me venir e Deux javascripts identique dans une même page [ par guerrilleur ] Voila je voudrai avoir de fois le même javascript sur ma page. voici mon code actuel: [code=html] --> /*************** probleme avec mon code avec firefox et opera [ par savagestudio ] bonjour (mon clavier et en norvegien, desole [^^sad2]) , J ai u probleme avec mon code , il marche parfaitment avec safari, chrome,IE mais pas avec fi Modification dynamique d'un formulaire [ par Romain54000 ] Bonjour, Voila j'ai un probléme dont je ne trouve malheureusement pas de réponse. Je voudrai partir d'une liste déroulante avec plusieurs choix, suiv Aide aux cookies [ par Annadrill ] Bonjour, je réalise un site accessible pour une association et j'aimerais que l'on puisse agrandir ou rapetisser la taille du texte. Mon problème s JS PARENT node [ par ghighidu63 ] Bonjour, j'ai crée ce sujet car j'ai besoin d'aide pour mon script. J'ai crée un truc pour Minimiser et Fermer un truc (Cacher/Afficher) Quand il y'en Message à l'envoi d'un formulaire, oui mais avec un GIF ? [ par porciner ] Bonjour à tous,J'ai fais une petite fonction qui permet d'afficher un message d'attente lorsque l'utilisateur envoie un formulaire.function uploadProg probléme d'affichage [ par youzou ] Salut j'ai un 2 tableau  et 2 bouton radio si je coche sur l'un des bouton les 2 tableau seront invisible et inversement si je selectionne l'autre bou REDIRECTION VERS UNE PAGE SPÉCIALE SI LE SITE N'A JAMAIS ÉTÉ VISITÉ. [ par Paulard69 ] Bonjour, pouvez-vous m'aider?JavaScript"> // Scrip créé


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,122 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales