Votre question

Problème javacript....

Tags :
  • Cookie
  • Programmation
Dernière réponse : dans Programmation
10 Février 2008 18:12:15

Bonjour!

J'ai un petit problème que je n'arrive pas a résoudre.
En faite, je veut enregistrer une chaine de caractère dans un cookie, mais cette chaine contient en faite ce qui est destiner a plusieurs zone (div).
Donc je voulait intégrer dans ma chaine de caractère des balises pour marquer le début du contenu d'une zone (N0=début zone1, N1=début zone1, etc...).
Puis avec une fonction je voulait récupérer ce qu'il y a entre deux balise donner (pour le contenu de la zone i ce sera entre la balise i et i+1).

Mais problème! Tout ce bazar ne fonctionne pas [:c_tet_moi:11] !

Voila mon script:
  1. function Extrait(No,chaine){
  2. deb=chaine.indexOff('N'+(No+1));
  3. fin=chaine.indexOff('N'+(No-1));
  4. return chaine.substring(deb,fin);
  5. }
  6.  
  7. function CrerCookie(nom,contenu,jours) {
  8. var expireDate = new Date();
  9. expireDate.setTime(expireDate.getTime() + jours*24*3600*1000);
  10. document.cookie = nom + "=" + escape(contenu) + ";expires=" + expireDate.toGMTString();
  11. }
  12.  
  13. function LitCookie(nom) {
  14. var deb,fin
  15. deb = document.cookie.indexOf(nom + "=")
  16. if (deb >= 0) {
  17. deb += nom.length + 1
  18. fin = document.cookie.indexOf(";",deb)
  19. if (fin < 0) fin = document.cookie.length
  20. return unescape(document.cookie.substring(deb,fin))
  21. }
  22. return ""
  23. }
  24.  
  25. function Enregistre(){
  26. contenu='N3ljhgljhgjhgN4';
  27. CrerCookie(cook,contenu,1);
  28. }
  29.  
  30. function Affiche(){
  31. chaine=LitCookie(cook);
  32. document.getElementById('zone').innerHTML=Extrait(3,chaine);
  33. }



Et pour l'HTML:
  1. <input type="button" value="Mettre dans le cookie" OnClick="javascript:Enregistre();">
  2. <input type="button" value="Afficher le contenu" OnClick="javascript:Affiche();">
  3.  
  4. <div id="zone">
  5. </div>

J'ai beau me relire pas moyen de savoir où est le problème! [:florom94:11]

Merci pour vos réponses!

Autres pages sur : probleme javacript

a c 232 L Programmation
11 Février 2008 12:49:58

Salut,

Ta fonction Extrait ne va pas fonctionner. (je n'ai pas testé ton code...)
deb=chaine.indexOff('N'+(No+1));
fin=chaine.indexOff('N'+(No-1));

si ta chaine est 'N3ljhgljhgjhgN4', deb va être la fin et fin va être le début...
13 Février 2008 15:07:28

En faite c'est:
Citation :

deb=chaine.indexOf('N'+No)+1;
fin=chaine.indexOf('N'+(No-1));

En plus j'avais mis "indexOff" au lieu de "indexOf" ^^ !
J'ai coriger 2 endroit ou je devait mettre 'cook' au lieu de cook et ça marche impect :)  !
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS