2017-03-10 73 views
2

我想將表單元素的值存儲在本地存儲上,並將其顯示在另一個HTML頁面上,但是當我嘗試從本地存儲獲取它時,會顯示null。 這是index.html。使用localStorage獲取表單元素值返回null

<body> 
    <form id="form" action="processed.html" onsubmit="submit();"method="get"> 
     <textarea name="comments" id="a1"></textarea> 
     <input type="submit" value="Order Now"> 
    </form> 

    <script type="text/javascript"> 
     function submit() { 
      localStorage.setItem("a2", document.getElementById("a1").value); 
     } 
    </script> 
</body> 

這是processed.html

<body> 
    <div id="answer"> 
    </div> 

    <script type="text/javascript"> 
     document.write(localStorage.getItem("a2")); 
    </script> 
</body> 
+0

做了'的document.getElementById( 'A1')value'正確獲得的價值。如果不嘗試使用innerHTML而不是值 – Toxide82

+0

我嘗試過使用innerHTML,但它仍然返回null – Daniel

回答

0

只是嘗試這個..

<script type="text/javascript"> 
function submit() { 
var value=document.getElementById("a1").value; 
localStorage.a2=value; 
    } 
</script> 
0

嘗試這樣的事情,試圖獲得這個的jsfiddle。

*更新

這撥弄工作: https://jsfiddle.net/dxzL5qoe/

function submit() { 
    let val = document.getElementById("a1").value; 
    localStorage.setItem("a2", val); 
    document.querySelector(".output").textContent = `saved ${val} to local storage`; 
} 

function getLocalstorage(key) { 
    return localStorage.getItem(key); 
} 

function doStuff() { 
    let storage = getLocalstorage("a2"); 
    document.querySelector(".output").textContent = `got ${storage} from local storage`; 
} 
<body> 
    <form id="form" action="processed.html" onsubmit="submit();"method="get"> 
     <textarea name="comments" id="a1"></textarea> 
     <input type="submit" value="Order Now"> 
    </form> 

    <button onclick="doStuff()">Get Local Storage</button> 
    <div class="output"></div> 
</body> 
0

測試在你的代碼的console.log(值);每個值包含什麼或在您的代碼中使用斷點。 同時使用檢查頁面([F12]/[CTRL + SHIFT + I] - >應用程序 - >本地存儲)檢查值是否存儲在本地存儲中。 我爲你做了一個快速的例子,在我的案例中工作。

HTML:

<textarea name="comments" id="comments"></textarea> 
<button onclick="setItem('comment', 'comments');">Submit</button> 
<div id="answer"></div> 

JS:

function setItem(key, elementId) { 
    var value = document.getElementById(elementId).value; 
    localStorage.setItem(key, value); 
    getItem(key); 
} 
function getItem(key){ 
    var localStorageValue = localStorage.getItem(key); 
    document.getElementById("answer").innerHTML = localStorageValue; 
} 

JSFIDDLE