Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wgrywanie ciasteczka po kliknieciu
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
darksiders94
Stworzyłem ciasteczko. Gdy wchodzę na stronę wyświetla komunikat o ciasteczkach itd. Wszystko ładnie, ale kiedy nie wcisnę zamknij przy komunikacie, to i tak już więcej się nie pojawi. Chciałbym aby ciasteczko było wysyłane dopiero po kliknięciu zamknij. Jeśli się nie kliknie to ma za każdym razem wyświetlać komunikat. Próbowałem funkcję pobierz ciastko podpiąć pod onclick ale nic to nie dało. Nie wiem dlaczego one w ogóle działają skoro nie są w funkcji window.onload. Proszę o wyjaśnienie smile.gif


  1. function stworzCiastko(nazwa, wartosc, waznosc){
  2. var wygasa = "";
  3.  
  4. if(waznosc){
  5. var data = new Date();
  6. data.setTime(data.getTime() + (1000 * 60 * 60 * 24 * waznosc));
  7. wygasa = "; expires=" + data.toGMTString();
  8. }
  9.  
  10. document.cookie = nazwa + "=" + wartosc + wygasa;
  11. }
  12. function pobierzCiastko(nazwa){
  13. var ciastka = document.cookie;
  14. if(ciastka != ""){
  15. ciastka = ciastka.split("; ");
  16. for(var i in ciastka){
  17. var cnazwa = ciastka[i].split("=")[0];
  18. if(cnazwa == nazwa){
  19. var wartosc = ciastka[i].split("=")[1];
  20. return unescape(wartosc);
  21. }
  22. }
  23. }
  24. }
  25. function sprawdzCiastko(nazwa){
  26. var wartosc = pobierzCiastko(nazwa);
  27.  
  28. if(wartosc){
  29.  
  30. }else{
  31. wartosc = komunikatCiastka();
  32. waznosc = 365;
  33. if(wartosc || !isNaN(waznosc)){
  34. stworzCiastko(nazwa, wartosc, waznosc);
  35.  
  36. }else{
  37. alert("nie tworze ciastka");
  38. }
  39. }
  40. }
nospor
No ale gdzies to musisz wywolywac... Pokaz kod gdzie to wywolujesz
darksiders94
  1. //CIASTECZKA-PRZYCISK-----------------------------------------------
  2. function uwaga(){
  3. var komunikat = document.getElementById("ciasteczka");
  4. if(komunikat.style.visibility=='visible'){
  5. komunikat.style.visibility='hidden';
  6. }
  7. }
  8. function komunikatCiastka(){
  9. var komunikat = document.getElementById("ciasteczka");
  10. if(komunikat.style.visibility=='hidden'){
  11. komunikat.style.visibility='visible';
  12. }
  13. }




i onload



  1. //CIASTECZKA-----------------------------------------------------------
  2. var zamknij = document.getElementById("zamknijUwaga");
  3. var komunikat = document.getElementById("ciasteczka");
  4. komunikat.style.visibility='hidden';
  5. zamknij.onclick = function(){
  6. uwaga();
  7. }
  8. var nazwaCiastka = "niezapominajka";
  9. sprawdzCiastko(nazwaCiastka);
nospor
sprawdzCiastko(nazwaCiastka);
Tutaj wyswietlasz komunikat i tworzysz ciastko. Nie rozumiem czemu wiec sie dziwisz, ze sie tworzy, skoro je tworzysz....

Skoro chcesz je tworzyc dopiero na zamkniecie, to podepnij o to:
stworzCiastko(nazwa, wartosc, waznosc);
na zamkniecie a nie jak teraz na wyswietlanie
darksiders94
Tzn już podpiąłem to pod onclick ale wtedy się w ogóle nie wyświetla komunikat. hm.. coś w tym jest.. teraz nie mam czasu ale zastanowię się jeszcze nad tym. Będę musiał chyba zmienić wywołanie komunikatu..


EDIT..
Teraz dotarło co powiedziałem biggrin.gif nie tak.. już chyba wiem biggrin.gif
nospor
W zamkieciu ma byc tylko to:
Kod
zamknij.onclick = function(){
        uwaga();
stworzCiastko('twojanazwa', 'blbbla', 365);


    }

Zas to
stworzCiastko(nazwa, wartosc, waznosc);
z funkcji SprawdzCiastko ma zniknac
darksiders94
OK OK smile.gif
Już mam.. po prostu dopiero się uczę i nie mogę sobie tego w głowie poukładać smile.gif potrzeba skupienia..
Ale miałem to na końcu języka, że tak powiem biggrin.gif

Dzięki dzięki dzięki biggrin.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.