2014-12-23 1 views
0

Может ли кто-нибудь помочь мне? Я пытаюсь сохранить состояние флажков с помощью window.sessionStorage. Когда пользователь перейдет с страницы 1 на страницу2, а затем нажмите кнопку «Назад», чтобы перейти на страницу 1, я хочу, чтобы все флажки, которые пользователь проверил, прежде чем перейти на страницу2, должны быть проверены.Сохранить значение флажка в sessionStorage

Эта ссылка есть сценарий в нижней части страницы, которая работает, когда он находится в LocalStorage или режиме sessionStorage
http://elikirk.com/store-form-data-with-html5-localstorage-and-jquery/.

+0

Есть ли причина не использовать localstorage? –

+0

Да, потому что с помощью локального хранилища ... он хранит данные во всех браузерах, которые я хочу очистить sessionStorage, как только закрыт браузер/вкладка. – amer

+0

Хорошо, попробуйте использовать .setItem() или еще что-нибудь объясненное по ссылке Я отправил, в противном случае это должно быть что-то в вашем коде, которое будет искать ... Если это возможно, дайте мне JSFiddle, так что я могу отлаживать его лучше –

ответ

1

Хорошо, может быть, его так, как вы с помощью sessionstorage ...

http://www.w3schools.com/html/html5_webstorage.asp

Вот ссылка, где LocalStorage и sessionstorage объясняются

Если нет, пожалуйста, напишите JSFiddle из вашего полного код (если возможно), поэтому я могу отлаживать ваш код ...

+0

Это не отвечает на вопрос или даже пытается ответить на него, и является не более чем ссылкой «только ответ» – charlietfl

+0

Плохая ссылка, см. [W3Fools] (http://www.w3fools.com/) ... Использование [MDN] (https://developer.mozilla.org/en -US /) является лучшей ссылкой. –

+0

Сладкий, хорошо, что вы признали, что Microsoft является единственным, кто не является частью движения HTML5, и даже весь IE плохо обновляется с общими функциями? Но MDN лучше, чем любой другой сайт?!? :-) Просто намек на повторение отходов, размещенных на сайтах, которые никто не читает и не советует –

1

Спасибо всем. Я решил это сам.

$('#id of the form').submit(function (ev) { 
    sessionStorage.setItem('checkBoxesResult', $("#id of the form").serialize()); 
    }); 

if(sessionStorage.getItem("checkBoxesResult")) { 

     var printVal = sessionStorage.getItem("checkBoxesResult"); 
     var checkBoxArray = []; 
     if (printVal != null) { 
     checkBoxArray = printVal.split("&"); 
     for(var i=0; i < checkBoxArray.length; i++) { 

      var nv = checkBoxArray[i].split("=") 
      n = decodeURIComponent(nv[0]), 
      v = nv.length > 1 ? decodeURIComponent(nv[1]) : null; 

      selectedChkBox(n,v); 
     } 
    } 
    } 


    function selectedChkBox(chkbox, value) { 
     $("[name="+chkbox+"]").each(function() { 
    if ($(this).val() == value) 
     $(this).attr('checked', true); 
    else 
     if ($(this).attr('checked') == true) 
      $(this).attr('checked', false); 
    }); 
    }