2015-02-23 56 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

相關問題