2015-02-23 27 views
0

我是一名高中学生,正在创建一个相当简单的测验式应用程序,以此试图了解有关编码的更多信息。我的应用程序的目标是让用户回答几个问题,其中每个答案都与一个值相关联,最终结果将是所有值的总和。在Web应用程序中存储数据

我只是不知道如何存储用户选择的数据/值,以便稍后使用它们来创建最终总和。我应该将每个值与一个变量关联以后使用吗?如果是这样,怎么样?

下面是我理想测验中的一个示例问题的小提琴: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="" />

回答

-1

什么是存储要求?

  • 是否要将数据存储在本地或服务器端?
  • 它应该是安全的吗? DB后端密码保护
  • 您认为您需要多少存储空间?
  • 数据是持久性的吗?

如果你是幸福的上限为5MB半持久性存储unsecurely存储客户方:本地存储,或者是IndexedDB(200MB)

如果你想保护你的数据,你需要创建像MySQL数据库和一些后端控制器来处理来自您的Web应用程序的请求。

我想的localStorage是最好的选择适合你:)

+0

请尽量不要成为smartass。对于只学习基础知识的人来说,对他们投掷元问题并不是很有帮助。这是一项高中任务,而不是麻省理工学院的一份文件。 ;) – mondjunge 2015-02-23 09:33:36

+0

@mondjunge你侮辱我吗?我正在给他可能的webstorage的基本选项。我不问他想要什么样的数据存储引擎或数据库结构。保持冷静,让提问者要求澄清他是否愿意。这不是一个帮助台。 – com2ghz 2015-02-23 09:46:49

+0

虽然它们不是“基本选项”。不适合高中项目。一个基本的选择是将数据存储在localStorage甚至文件中。 – Drumbeg 2015-02-23 10:08:36

0

您可以使用Javascript角localStorage的对象。只要您愿意,您的值就会存储在浏览器中,或浏览器被删除。

就以网络存储来看看w3cschools explaination和其他信息:

的localStorage的对象

的localStorage的对象存储的数据没有过期日期。当浏览器关闭时, 数据将不会被删除,并且将在第二天,一周或一年内提供 。

例子:

// Store 
localStorage.setItem("lastname", "Smith"); 
// Retrieve 
document.getElementById("result").innerHTML = localStorage.getItem("lastname"); 
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; 
+0

我将使用这里提到的对象/数组和JavaScript sessionStorage或localStorage的组合,以便在用户通过测验时获得问题结果的存储。请记住,如果使用sessionStorage,则在浏览器关闭时数据将丢失。 – Drumbeg 2015-02-23 10:05:22

+0

正确!理想情况下,为了创建在线测试场景,我建议您在每次用户选择答案或点击下一个问题时创建ajax调用并将其存储到数据库。这样创建的对象可以用来做到这一点。在这种情况下,即使用户关闭浏览器并返回,您也可以随时重新填充从数据库创建的对象。 – 2015-02-23 12:03:10

+0

您也可以通过序列化将json解码的数组对象存储到数据库中...嘿有很多选项可以为您打开...按照您的方式进行操作... – 2015-02-23 12:05:27

相关问题