Autor Zpráva
Vendelína
Profil *
Potřebovala bych script, kterým když vyberu nějaký checkbox (jeden i více), aby se mě hodnota u checkbox VALUE uložila do cookie se splatností 1 hodiny. Pokud checkbox odznačím, tak naopak potřebuji cookie zase smazat.

Na internetu jsem našla script:
$(function() {
  $(".rememberme").change(function() {
     if ($(this).is(":checked"))
       $.cookie("loggin", $("#username").val(), {expires: 7});
  }
});

... ale vůbec ho nechápu, protože javascript přes jQuery neumím. Umí mě zde někdo poradit, jak takový javascript bude vypadat?

Moc Vám hrozně děkuji za výpomoc.
vuuul
Profil
Já bych to zkusil přes událost onClick nebo onChange, pokud uživatel objekt označí, proběhne funkce, která nastaví hodnotu cookie
Vendelína
Profil *
Jak by v tomto případě javascript vypadal? Vím, jsem otravná, ale jQuery neovládám.
vuuul
Profil
být vámi se nevážu na tento script v jQuery a napíšu to čistě a od základu v Javascriptu
Vendelína
Profil *
Porádite prosím, jak by měl script vypadat? Na internetu jsem nic nenašla a sama z javascriptu nic dohromady nedám :(
vuuul
Profil
Narychlo jsem napsal něco takového:

<html>
<head>

<script>
function cookiedef()
{
if(document.zaskrtavac.cekbox.checked==true) //pokud je checkbox zaskrtnuty
{
trvanisus = new Date()
trvanisus.setTime(trvanisus.getTime() + 1000 * 60 * 60) // jedna hodina od data zaskrtnuti
document.cookie = "kukina= vase hodnota; expires=" + trvanisus.toGMTString() + "; path=/" // do cookie jmenem kukina se splatnosti 1 hodiny se ulozi vami zvolena hodnota
}
else //pokud neni checkbox zaskrtnuty
{
trvanisus = new Date()
trvanisus.setTime(trvanisus.getTime()) // nyni
document.cookie = "kukina= cokoliv; expires=" + trvanisus.toGMTString() + "; path=/"// cookie jmenem kukina vyprsi ve chvili, kdy je nadefinovana(tim dojde k jejimu smazani)
}
}
</script>

</head>
<body>
<form name="zaskrtavac" action="?">
<input type="checkbox" name="cekbox" onChange="cookiedef()">
</form>
</body>
</html>

Vypadá to, že by to mělo fungovat. Pokud by to nefungovalo, nebo by byly jakékoliv dotazy, ozvěte se
Vendelína
Profil *
Jste moc hodný. Funguje to super. Jen ...

Šlo by ukládat do cookie hodnotu value uvedenou v checkbox? Jde o to, ze checkboxu zde budu mit mnoho a name zůstane stejné s tím, že do value bych chtěla vložit ID, které bych pak potřebovala ukládat do cookie.
vuuul
Profil
Pokud vím, tak kdyby se dalo více checkboxům stejné jméno, skript by správně nefungoval, pak by asi nejjednodušším řešením byla funkce s argumentem. Do cookie se klidně může ukládat i jméno checkboxu, není nutné ukládat jeho ID.
Tori
Profil
Vendelína:
checkboxu zde budu mit mnoho a name zůstane stejné s tím, že do value bych chtěla vložit ID, které bych pak potřebovala ukládat do cookie
Pokud chcete v PHP zjistit, které checkboxy byly zaškrtnuté, tak je zřejmě stejně máte pojmenované jako pole: name="nazev[]" value="3" nebo name="nazev[3]". S druhou variantou (tedy název[id]) by se i v JS pracovalo o něco lépe. Koukněte na příklady zápisu / čtení cookies JavaScriptem (je to bez jQuery, ale není to o nic těžší).

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: