2014-10-26 95 views
-1

我正在將數據從當前頁面轉發到相同的下一頁面,即每當再次加載頁面時,代碼將檢查是否存在任何此類存儲,如果是,則它將加載文本中的值框。我無法得到它的工作下面是代碼 -HTML5存儲不起作用

<!DOCTYPE html> 

<html lang="en" xmlns="http://www.w3.org/1999/xhtml"> 

<head> 
<meta charset="utf-8" /> 
<title></title> 
<script type="text/javascript"> 
    function values() 
    { 
     if(localStorage.getItem(pranav)) 
     { 
      document.getElementById(FName).innerText= sessionStorage.getItem(pranav); 
      document.getElementById(OName).innerText= sessionStorage.getItem(k); 
     } 
     else 
     { 
      sessionStorage.setItem("pranav", "P"); 
      sessionStorage.setItem("k", "P"); 
      return; 
     } 
    } 
</script> 

</head> 

<body> 
<form name="myform" action="Idea.html" onload="values(this.form)"> 
    <label>Please Enter Your Full Name = </label><input type="text" name="FName" id="FName" /> 
    <label>Please Enter Your Current Organization</label><input type="text" name="OName" id="OName" /> 
    <input type="submit" value="Submit" onclick="values(this.form)" /> 
</form> 

</body> 
</html> 

請幫助我,爲什麼這不工作?

+0

關鍵的「pranav」應該是在引號中的第一次調用'.getItem()' – Pointy 2014-10-26 16:04:12

回答

1

您還沒有申報您使用的pranavk變量。另外,當您爲輸入字段分配值時,應該使用.value屬性而不是.innerText

你也可以考慮在2個功能拆分代碼:

<!DOCTYPE html> 
<html lang="en" xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <meta charset="utf-8" /> 
    <title></title> 
    <script type="text/javascript"> 
    function loadValues() { 
     var data = localStorage.getItem('data'); 
     if(data) { 
      data = JSON.parse(data); 
      document.getElementById('FName').value = data.firstName; 
      document.getElementById('OName').value = data.lastName; 
     } 
    } 

    function saveValues() { 
     var data = { 
      firstName: document.getElementById('FName').value, 
      lastName: document.getElementById('OName').value 
     }; 
     localStorage.setItem('data', JSON.stringify(data)); 
    } 
    </script> 
</head> 
<body onload="loadValues()"> 
    <form name="myform" action="Idea.html" onsubmit="saveValues()"> 
     <label>Please Enter Your Full Name = </label> 
     <input type="text" name="FName" id="FName" /> 
     <label>Please Enter Your Current Organization</label> 
     <input type="text" name="OName" id="OName" /> 
     <input type="submit" value="Submit" /> 
    </form> 
</body> 
</html> 
+0

只是嘗試這樣做,但JavaScript是不在頁面重新加載時自動更改文本框的值或單擊提交按鈕。 – 2014-10-26 16:08:15

+0

好吧,你可能想把它分成兩個函數:當文檔被調用(body onload)時調用的函數和提交表單時調用的函數。我用一個例子更新了我的答案。 – 2014-10-26 16:09:27

+0

我使用XAMPP嘗試了這段代碼,並且在每個瀏覽器中都包含了Chrome,Waterfox和IE,但是當頁面刷新時沒有任何事情發生。加載時文本字段的值不會自動填充? – 2014-10-26 16:17:40