2012-06-02 2 views
1

Привет Я начинающий веб-разработчик и пытаюсь создать интерфейс простого сайта электронной коммерции в качестве личного проекта. На сайте есть несколько страниц с флажками.Javascript хранит данные

Когда кто-то проверяет элемент

  • это retrives цену элемента и
  • сохраняет его в переменной.

Но когда я иду на следующую страницу и нажмите новые флажки продукты переменная автоматически сбрасывает в исходное состояние.

Как сохранить значение этой переменной в Javascript? Я использую библиотеку jQuery.

EDIT: Это код, который я написал с помощью sessionStorage, но он все еще не работает, когда я перехожу на следующую страницу, значение сбрасывается.

Как я могу устранить этот код, чтобы я не сбросил каждую страницу. Все страницы на моем сайте используют один и тот же скрипт.

$(document).ready(function(){ 
     var total = 0; 



      $('input.check').click(function(){ 
       if($(this).attr('checked')){ 
        var check = parseInt($(this).parent().children('span').text().substr(1 , 3)); 
        total+=check; 
        sessionStorage.var_name=0 + total; 
        alert(sessionStorage.var_name); 

       }else{ 
        var uncheck = parseInt($(this).parent().children('span').text().substr(1 , 3)); 
        total-=uncheck; 


       } 
      }) 
+0

Как перейти на следующую страницу через AJAX или перезагрузить страницу? – thecodeparadox

+0

Я использую перезагрузку страницы –

+0

Файлы cookie - это всегда другой вариант – RustyTheBoyRobot

ответ

4

Синтаксис sessionStorage прост, и он сохраняет свои данные, пока окно браузера не закрывается. Он действует точно так же, как и любой другой объект javascript. Для доступа к сохраненным значениям вы можете использовать обозначение точечной или квадратной скобки (необходимое для ключей с пробелами).

Сохранение значений с использованием sessionStorage

sessionStorage['value key'] = 'value to store'; 

Использование сохраненных значений

alert(sessionStorage['value key']); // Alerts "value to store". 
+0

Я пробовал использовать sessionStorage, но кажется, что данные хранятся в реестре, можете ли вы взглянуть на код, который я написал? –

+0

попробуйте использовать localStorage вместо sessionStorage и сообщите мне, что произошло –

+0

То же самое в тот момент, когда я изменяю ссылку, чтобы перейти на следующую страницу моего веб-сайта, значение сбрасывается –

2

Вы можете использовать LocalStorage для acomplish это. Вы должны были бы создать запасной вариант для него, используя LocalStorage однако можно было бы сделать так:

Чтение из памяти:

if (localStorage['valueName'] !== undefined) { 
    input.value = localStorage['valueName']; 
} 

Пишущие для хранения:

localStorage['valueName'] = input.value; 

Вот jsfiddle пример: http://jsfiddle.net/yJjLe/

1

Как уже упоминалось выше, вы можете использовать sessionStorage или localStorage. Другой доступный вариант: HTML5 Web Databases И посмотрите на this presentation.

Также имейте в виду, что веб-хранилище html5 не является безопасным, так как каждый может видеть ваши сохраненные данные просто с консоли.

Смежные вопросы