pum
Gebruiker
- Lid geworden
- 18 dec 2009
- Berichten
- 193
Ik ben bezig met het bouwen van een webapplicatie voor een discotheek. Op de index krijgt de bezoeker een overzicht te zien van de aankomende events. Wanneer een bezoeker op een event klikt heeft deze ook de mogelijkheid om zich aan te melden voor een actie, dit kan zijn win 30 munten gratis entree. acties verschillen per event.
Nu heb ik op de index pagina een knop die een overzicht van alle acties toont waarvoor een bezoeker zich heeft aangemeld. Dit gaat met behulp van localstorage. Wanneer een bezoeker de browser sluit en later terug komt ziet deze nog steeds de acties waar hij of zij aan mee doet. Nu loop ik tegen het volgende probleem aan.
probleem
Wanneer ik een actie wil joinen word het id van de huidige actie opgeslagen in localstorage, ik kan deze vervolgend ophalen en tonen. Wanneer ik mij aanmeld voor nog een actie, word de waarde die in de localstorage staat overschreven met de nieuwe waarde. dit is niet de bedoeling
Mijn vraag:
Hoe kan ik er voor zorgen dat wanneer ik op een actie klik deze word toegevoegd aan de array die ik opsla in localstorage?
[JS]$('.btn-joinContest').live('click', function(e){
if (Modernizr.localstorage) {
var id = getUrlVars()["id"],
regId = [ ],
currentlist = localStorage.getItem("contest");
if(currentlist == null) {
console.log('Nothing in store');
regId.push(id);
localStorage['contest']=JSON.stringify(regId);
}
else if (currentlist.length === 0) {
console.log('Store contains empty value');
regId.push(id);
localStorage['contest']=JSON.stringify(regId);
} else {
console.log('er zit al wat in dit ophalen en vergelijken');
var storedIds = JSON.parse(localStorage['contest']);
$.each(storedIds, function(index, contestId){
//console.log('val' + index + 'key' + contestId);
if(id == contestId){
console.log('ids zijn gelijk');
} else {
console.log('niet gelijk toevoegen');
regId.push(id);
localStorage['contest']=JSON.stringify(regId);
}
});
}
} else {
console.log('localstorage word NIET deze browser ondersteund u kunt geen contests toevoegen')
}
});[/JS]
Nu heb ik op de index pagina een knop die een overzicht van alle acties toont waarvoor een bezoeker zich heeft aangemeld. Dit gaat met behulp van localstorage. Wanneer een bezoeker de browser sluit en later terug komt ziet deze nog steeds de acties waar hij of zij aan mee doet. Nu loop ik tegen het volgende probleem aan.
probleem
Wanneer ik een actie wil joinen word het id van de huidige actie opgeslagen in localstorage, ik kan deze vervolgend ophalen en tonen. Wanneer ik mij aanmeld voor nog een actie, word de waarde die in de localstorage staat overschreven met de nieuwe waarde. dit is niet de bedoeling

Mijn vraag:
Hoe kan ik er voor zorgen dat wanneer ik op een actie klik deze word toegevoegd aan de array die ik opsla in localstorage?
[JS]$('.btn-joinContest').live('click', function(e){
if (Modernizr.localstorage) {
var id = getUrlVars()["id"],
regId = [ ],
currentlist = localStorage.getItem("contest");
if(currentlist == null) {
console.log('Nothing in store');
regId.push(id);
localStorage['contest']=JSON.stringify(regId);
}
else if (currentlist.length === 0) {
console.log('Store contains empty value');
regId.push(id);
localStorage['contest']=JSON.stringify(regId);
} else {
console.log('er zit al wat in dit ophalen en vergelijken');
var storedIds = JSON.parse(localStorage['contest']);
$.each(storedIds, function(index, contestId){
//console.log('val' + index + 'key' + contestId);
if(id == contestId){
console.log('ids zijn gelijk');
} else {
console.log('niet gelijk toevoegen');
regId.push(id);
localStorage['contest']=JSON.stringify(regId);
}
});
}
} else {
console.log('localstorage word NIET deze browser ondersteund u kunt geen contests toevoegen')
}
});[/JS]
Laatst bewerkt: