我是一名高中生,正在创建一个相当简单的类似测验的应用程序,以尝试更多地了解编码。我使用该应用程序的目标是让用户回答几个问题,这些问题将使每个答案与一个值相关联,最终结果将是所有值的总和。
我只是不知道如何存储用户选择的数据/值,以便稍后使用它们来创建结束总和。我应该将每个值与变量关联以便以后使用吗?如果是这样,怎么样?
这是我理想测验中的一个示例问题的小提琴:http://jsfiddle.net/J7m7m/342/。
function changeText(value) {
document.getElementById('count').value = 100 * value;
}

<h1>Personal information</h1>
<h2>Ability</h2>
<input type="radio" onclick="changeText(.5)" name="group2" />Beginner</label>
<input type="radio" onclick="changeText(.3)" name="group2" />Intermediate</label>
<input type="radio" onclick="changeText(.15)" name="group2" />Advanced</label>
</div>
<h3/>Likelihood of Injury (%)
<input type="text" id="count" value="" />
&#13;
答案 0 :(得分:0)
您可以使用Javascripts localStorage对象。只要您愿意,您的值就会存储在浏览器中,或者删除浏览器。
查看w3cschools explaination以及有关网络存储的更多信息:
localStorage对象
localStorage对象存储没有过期日期的数据。该 浏览器关闭时,不会删除数据 第二天,一周或一年可用。
示例:
// Store
localStorage.setItem("lastname", "Smith");
// Retrieve
document.getElementById("result").innerHTML = localStorage.getItem("lastname");
答案 1 :(得分:0)
为什么不使用javaScript对象在前端存储数据。 您可以通过在服务器上使用json进行编码来直接传递此对象,以将其存储到数据库中。 示例:
var g_obj = new Object();
g_obj.level = new Object();
g_obj.level.diff = "Beginner";
g_obj.level.injury = "50";
g_obj.answers = new Array();
g_obj.answers[0] = new Object();
g_obj.answers[0].id = "1";
g_obj.answers[0].correct = "1";
g_obj.answers[0].marks = 10;
g_obj.answers[1] = new Object();
g_obj.answers[1].id = "2";
g_obj.answers[1].correct = "0";
g_obj.answers[1].marks = 10;
g_obj.answers[2] = new Object();
g_obj.answers[2].id = "3";
g_obj.answers[2].correct = "1";
g_obj.answers[2].marks = 15;
答案 2 :(得分:-1)
存储有哪些要求?
如果您对5mb max半持久存储不安全存储客户端感到满意:Localstorage或IndexedDB(200mb)
如果您想保护数据,您需要创建一个像MySQL这样的数据库和一些后端控制器来处理来自您的Web应用程序的请求。
我认为localStorage是您的最佳选择:)