Javascrip témakörök Adattárolás témakörei

Tárolt munkamenetek módosítása. 210

Tárolt sessionStorage és localStorage munkamenetek módosítása.

Eltávolításí szintaxis meghatározása a következő: localStorage vagy sessionStorage, + ("azonosító_név")
sessionStorage.removeItem("session_azonosítónév");
localStorage.removeItem("local_azonosítónév");

Mielőtt törölnénk bármelyik tárolt változót, győződjünk meg létezésükről.
Ezzel, elkerülhetjük a nem kívánt adattárolásra már létrehozott változó törlését, azaz, csak azt töröljük, melyre nincs szükségünk.

Azt már tudjuk, hogy:
- A SESSION automatikusan törlődik, ha a böngésző programunkat bezárjuk.
- A LOCALIS nem törlődik a böngésző programunk bezárásával, ennek törléséről nekünk kell gondoskodni.

Megjegyzés:

 


 

Milyen hibát követhetünk el:

  1. Létrehozáskor:
    • Ugyan azon néven hozunk létre munkamenet változót, mely már létezik.
    • Ekkor, a már létező munkamenet változóban tárolt adat törlődik, és az új adattal töltődik fel.

  2. Módosításkor vagy törléskor:
    • A meglévő munkamenet változót, több program is használja, melyről megfeledkeztünk.
    • Ennek következménye, hogy egyes programok nem működnek, vagy nem az elvárt eredménnyel térnek vissza.

 


 

Nehogy hibát kövessünk el, létrehozáskor, módosításkor, törléskor.
Jó tudni, milyen munkamenet változók léteznek, és milyen adatokat tárolnak.

Jelenleg létező, tárolt munkamenet változók elnevezésének, és értékeiknek lekérdezése:

<script language="JavaScript" type="text/javascript" >
var ses=0;  var loc=0;
document.write ("A sessionStorage tömbben tárolt elemek neve, és értéke:<br />");
   for ( var i=0; i<sessionStorage.length; i++) 
    { 
     ses++;
     var neve = sessionStorage.key(i);
     var erteke=sessionStorage[neve];
     document.write ("<b>"+ ses +". "+neve+" = "+ erteke +"</b> <br />");
    }

document.write ("<br /><br />A localStorage tömbben tárolt elemek neve, és értéke:<br />");
   for ( var i=0; i<localStorage.length; i++) 
    { 
     loc++;
     var neve = localStorage.key(i);
     var erteke=localStorage[neve];
     document.write ("<b>"+ loc +". "+neve+" = "+ erteke +"</b> <br />");
    }
</script>

-----------------------------------------------------------------------------------------------------------------

Fenti programunk eredménye:

 


 

Munkamenet Storage, azaz tároló módosítása.

Módosítás, megegyezik a létrehozás menetével.
Módosítás nem más, mint a meglévő változóban tárolt adatok átírása, új értékre.
Meghatározzuk a SESSION vagy LOCAL munkamenet nevét, majd az új tárolandó értéket.

 

Következő példákban a sessionStorage kerül bemutatásra, de a localStorage esetében is, így kell eljárni.

Ha a localStorage munkamenetet akarjuk módosítani,
akkor a programban látható sessionStorage meghatározást írjuk át, localStorage formátumra.

Elhelyezünk egy html jelölőelemet egyedi "id" azonosítóval, hogy programunk ezen a területen írja ki, az eredményt.

<span id="uj_eredmeny"></span>
----------------------------------------------------------------
1. Így: Zárójelek közé írjuk be, a munkamenet nevét, és az értéket is.

<script type="text/javascript">
    // Meglévő SESSION munkamenet értékének módosítása.
     sessionStorage.setItem("egyedi_azonosító", "érték");
	 
    // Módosított SESSION munkamenet értékének kiíratása:
     document.getElementById("uj_eredmeny").innerHTML = sessionStorage.getItem("egyedi_azonosító");
</script>
----------------------------------------------------------------

2. Vagy így: Munkamenet nevét közvetlen, még az értéket, az egyenlőségjelet követően írjuk be.

<script type="text/javascript">
  // SESSION munkamenet létrehozása, adat tárolására.
    sessionStorage.egyedi_azonosító = "érték";

  // SESSION munkamenet lekérdezése, és értékének kiíratása:
    document.getElementById("uj_eredmeny").innerHTML = sessionStorage.egyedi_azonosító;
</script>
----------------------------------------------------------------

3. Vagy így: Változóhoz rendeljük a munkamenet nevét, és az értéket is.

<script type="text/javascript">

Munkanev="ses_tarolo02";
ujAdat="Zöld elefánt";

  // Meglévő munkamenet értékének módosítása.
     sessionStorage.setItem(Munkanev, ujAdat);

  // Módosított munkamenet értékének kiíratása:
    id=document.getElementById("uj_eredmeny");
	erteke=sessionStorage[Munkanev];
	kiiratas=("Munkamenet neve: <b>"+Munkanev+"</b><br /> Új értéke= <b>"+erteke+"</b>");
	id.innerHTML = kiiratas;
	
</script>
----------------------------------------------------------------

Fenti programunk eredménye:

 


 

Munkamenet Storage, azaz tároló törlése.

Tároló törlésnél, törlődik a megadott munkamenet név, és vele együtt a benne tárolt érték is.

A kiválasztott, tárolt munkamenet változó törlése:
Az xxxxxxxx -ek helyére írjuk azon változó nevét, melyet törölni akarjuk.

<script language="JavaScript" type="text/javascript" >

    // Kiválasztott SESSION munkamenet változó törlése,  böngésző program bezárása előtt.
       sessionStorage.removeItem("xxxxxxxx");
	 
    // Kiválasztott LOCAL munkamenet változó törlése.
       localStorage.removeItem("xxxxxxxx");
	   
</script>

 


 

 

 

Törlés űrlap használatával.

Példa:

<form name="torles">
Törlendő session munamenet neve:<br /> 
   <input type="text" name="session" value="" size="55">
<br /><br />
   <input type="button" value="SESSION Törlése!" onClick="sessionMunkamenet(torles.session)">
<br /><br />
   
Törlendő local munamenet neve:<br /> 
   <input type="text" name="localis" value="" size="55"><br /><br />
   <input type="button" value="LOCAL Törlése!" onClick="localMunkamenet(torles.localis)">
<br /><br />

<input type="reset" name="reset" value="Beírt adat törlése">
</form>

------------------------------------------------------------------------------------------------------------------------
JavaScript programunk.

function letezoSession(letezik)
{ ses=0;
   for ( var i=0; i<sessionStorage.length; i++) 
    { van = sessionStorage.key(i);
      if(letezik == van) { ses=2; break;}  // Ha talál egyformát, ciklusból kilépünk.
      else{ ses=0;}
    }
   return ses;
}
function letezoLocal(letezik)
{ loc=0;
   for ( var i=0; i<localStorage.length; i++) 
    { van = localStorage.key(i);
      if(letezik == van) { loc=2; break;}   // Ha talál egyformát, ciklusból kilépünk.
      else{ loc=0;}
    }
   return loc;
}

function sessionMunkamenet(sessionTorles)
{  //A "datasession" nevű változó fogja tárolni, az űrlapról kapott értéket.
   datasession=sessionTorles.value;      	
   if(datasession !="")
    {    //Paraméter átadással, meghívjuk a "letezoSession" nevű függvényt.
      letezoSession(datasession); 
      if(ses >0)  { sessionStorage.removeItem(datasession);}
      else { alert("Ilyen nevű session változó nincs"); } 	 
    }	 
   else{alert("Nem határoztad meg, melyik session változót töröljem");}
}

function localMunkamenet(localTorles)
{  //A "datalocal" nevű változó fogja tárolni, az űrlapról kapott értéket.
   datalocal=localTorles.value;      
   if(datalocal !="")
    {    // Paraméter átadással, meghívjuk a "letezoLocal" nevű függvényt.
      letezoLocal(datalocal) 
      if(loc >0) { localStorage.removeItem(datalocal); } 
      else{ alert("Ilyen nevű local változó nincs"); }
    }
   else{ alert("Nem határoztad meg, melyik local változót töröljem"); }
}

Törlendő session munamenet neve:




Törlendő local munamenet neve:




Törlést követően, az billentyű leütésével frissítsük az oldalt, hogy a változásról meggyőződhessünk.
A jelenleg létező munkamenet tárolókról információt, az oldal elején lévő lekérdezésnél találhatunk.

 


 

 

 

 

 

Vissza a lap elejére