Ustawienie ciastka po kliknieciu w div'a

Tagi: #<Tag:0x00007f3a90d2a3f8> #<Tag:0x00007f3a90d2a308>

Cześć,
potrzebuje jakiś prosty sposób na ustawienie zmiennej $_COOKIE po kliknięciu w diva. Ktos ma jakiś sposób? Moze gotowy skrypt?

Zrób sobie forma i po jego kliknięciu wykonuje Ci się skrypt php.

Daj znać co chcesz osiągnąć, w zależności od tego optymalne rozwiązanie może być inne.

Polecam plugin:

Definiowanie ciastek odbywa się identycznie jak np. przez PHP.

Jeśli jednak wolisz podłubać sam - patrz niżej.

Natomiast tutaj: http://www.w3schools.com/js/js_cookies.asp jest wszystko co Ci jest potrzebne czyli:

###Ustawianie ciastka

function setCookie(cname, cvalue, exdays) {
    var d = new Date();
    d.setTime(d.getTime() + (exdays*24*60*60*1000));
    var expires = "expires="+ d.toUTCString();
    document.cookie = cname + "=" + cvalue + "; " + expires;
}

###Pobieranie ciastka

function getCookie(cname) {
    var name = cname + "=";
    var ca = document.cookie.split(';');
    for(var i = 0; i <ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') {
            c = c.substring(1);
        }
        if (c.indexOf(name) == 0) {
            return c.substring(name.length,c.length);
        }
    }
    return "";
}

I sprawdzanie ciastka

function checkCookie() {
    var username=getCookie("username");
    if (username!="") {
        alert("Welcome again " + username);
    } else {
        username = prompt("Please enter your name:", "");
        if (username != "" && username != null) {
            setCookie("username", username, 365);
        }
    }
}

Korzystając z tych trzech funkcji jesteś w stanie osiągnąć wszystko co tylko zechcesz.

Czyli…

JavaScript

object.onclick=function(){ 
	setCookie('ciastko', 'czekoladowe', '-1')
};

// albo metoda addEventListener
object.addEventListener("click", mojskrypt);

jQuery

$( "#twojdiv" ).on( "click", function() {
	setCookie('ciastko', 'czekoladowe', '-1')
});

Inne źródła
http://www.w3schools.com/jsref/event_onclick.asp
http://api.jquery.com/on/

2polubienia

Tak dobrej odpowiedzi się nie spodziewałem :slight_smile: o to mi chodziło, dzięki

1polubienie