2013-03-16 3 views
1

J'essaie de stocker le choix de style le plus récent effectué par un clic d'utilisateur basé sur une liste de sélection. J'ai essayé d'utiliser localstorage pour le faire, mais j'ai vraiment du mal à le faire fonctionner.Enregistrer la modification en arrière-plan à l'aide de localstorage

Toute aide serait grandement appréciée. Merci!

C'est le meilleur que j'ai pu trouver après avoir regardé plusieurs exemples - mais cela ne fonctionne pas.

function initiate(){ 
    var styleButton = document.getElementById("selectStyleButton"); 
    if (styleButton){ 
     styleButton.addEventListener("click", saveStyle); 
    } 
    setStyle(); 
} 

function saveStyle(){ 
    var select = document.getElementById("selectStyle"); 
    if (select){ 
     select[select.selectedIndex].value = localStorage.setItem("selectStyle"); //store value that was selected 
    } 
    setStyle(); //set the style that was selected based on the above 
} 

function setStyle(){ 
    var newstyle = localStorage.getItem("selectStyle"); //get value that was selected 
    document.body.className = newstyle; //change body based on the class name of value that was selected 
    } 

window.addEventListener("load", initiate); 

Répondre

0

Ce que vous essayez de faire ici est de définir la valeur de l'option sélectionnée ne pas stocker dans le stockage local. Essayez plutôt

localStorage.setItem("selectStyle",select[select.selectedIndex].value); 

http://diveintohtml5.info/storage.html#methods

+0

Wow, merci ça marche! Enfin! Cela m'a pris toute la journée – MmDott

Questions connexes