2014-09-22 139 views
0

因此,對於此編程任務,我們應該讓用戶填寫表單,並在輸入表單時將其輸入保存在本地存儲中。JavaScript - 將表單文本存儲在本地存儲中

<input type="text" name="name" id="name" onkeyup="StoreText()"> 

是我的HTML表單的一部分,我有以下功能:

<script> 
    function StoreText() { 
    var name = document.getElementById("name"); 
    localStorage.setItem("name", name); 
    } 
</script> 

不過,我使用Chrome檢查器可以查看本地存儲和我沒有看到任何有。我的代碼有什麼問題?

+2

你做了什麼對問題進行調試?事件處理程序是否被執行?提示:您正嘗試在本地存儲中存儲DOM元素。這是行不通的。你必須得到''的價值。 – 2014-09-22 17:30:53

回答

0

嘗試存儲name.value而不是名稱。

+0

請**解釋**爲什麼OP應該「嘗試」。 – 2014-09-22 17:57:34

+0

這似乎是一個簡單的問題,因爲我認爲你不能在localStorage中存儲一個元素,這很難解釋。 – Mandera 2014-09-22 18:02:26

+0

顯然OP是初學者。我認爲他們會很感激每一點信息。更不用說未來的訪客。沒有人從單一行「學習A而不是B」的答案中學到任何東西。 OP可能不知道「name」是一個DOM元素,或者您不能將DOM元素存儲在本地存儲中。所以這點確實非常有用。 – 2014-09-22 18:05:03

0

小提琴:http://liveweave.com/z71PS8

這是localStorage的是如何工作的。

杉杉你必須告訴localStorage的到的getItem

if (localStorage.getItem('Data')) { 
    $("#name").val(localStorage.getItem('Data')); 
} 

現在你保存你的價值與以下(這將在後面setItem其本地存儲你的價值被檢索)...

localStorage.setItem('Data', $("#name").val()); 

您可能還想看到Using Local Storage for Appended HTML

中的JavaScript/JQuery的:

if (localStorage.getItem('Data')) { 
    $("#name").val(localStorage.getItem('Data')); 
} 
$("#name").keyup(function() { 
    localStorage.setItem('Data', $("#name").val()); 
}); 

的HTML:

<input type="text" id="name"> 

Here's一個純JavaScript /非JQuery的解決方案