Я создаю викторину с несколькими вариантами с помощью javascript и задаюсь вопросом, как я могу сохранить состояние переключателей. Поэтому, когда пользователь вернется в браузер, их выбранные переключатели останутся на месте. Вот ссылка на то, что я пытаюсь сделать. http://jsbin.com/soyivu/1/edit?html,js,outputСохранить состояние переключателей javascript
Вот две наиболее важные функции из сценария:
function checkAnswer(){
choices = document.getElementsByName("choices");
if ($('input[name=choices]:checked').length > 0) {
for(var i=0; i<choices.length; i++){
if(choices[i].checked){
choice = choices[i].value;
}
}
if(choice == allQuestions[pos]["correctAnswer"]){
correct++;
}
pos++;
renderQuestion();
} else {
alert("Select Something");
}
}
function renderQuestion(){
test = _("test");
if(pos >= allQuestions.length){
test.innerHTML = "<h2>You got "+correct+" of "+allQuestions.length+" questions correct</h2>";
_("test_status").innerHTML = "Test Completed";
pos = 0;
correct = 0;
return false;
}
_("test_status").innerHTML = "Question "+(pos+1)+" of "+allQuestions.length;
question = allQuestions[pos]["question"];
chA = allQuestions[pos]["choices"][0];
chB = allQuestions[pos]["choices"][1];
chC = allQuestions[pos]["choices"][2];
test.innerHTML = "<h2>"+question+"</h2>";
test.innerHTML += "<input type='radio' name='choices' value='0'> "+chA+"<br>";
test.innerHTML += "<input type='radio' name='choices' value='1'> "+chB+"<br>";
test.innerHTML += "<input type='radio' name='choices' value='2'> "+chC+"<br><br>";
test.innerHTML += "<button onclick='goBack()'>Prev</button>";
test.innerHTML += "<button onclick='checkAnswer()'>Next</button>";
}
Где определена функция '_'? – RobG
Попробуйте localstorage: http://www.w3schools.com/html/html5_webstorage.asp –
Функция '_' определена в верхней части скрипта –