2017-07-04 89 views
-1
<body onload="UserAction()"> 


<form action="student" id="add" align="center"> 
    Rollno:<input type="text" name="rollNo" id="rollNo"><br> 
    Name: <input type="text" name="name" id="name"><br> 
    <br> 

<script type="text/javascript" language="javascript"> 
     function UserAction() { 

      var rollNo = parseInt(localStorage.getItem("rollNo")); 
      document.write(rollNo); 
      document.getElementById("rollNo").value = rollNo; 
     } 
</script> 

rollNo值被印刷的特性‘價值’,但同時將其分配給該文本框它給了我一個錯誤。JavaScript錯誤「無法設置爲空「

回答

0

您已經取代了從當頁面完整的HTML你做

document.write(rollNo);

如果您rollNo時說,10那麼你會得到

<body>10</body> 

當您的UserAction()函數被調用時在瀏覽器中呈現。因此,您需要刪除此行document.write(rollNo);,以便下一行document.getElementById("rollNo")可以找到idrollNo的元素。所以,你UserAction()變,

function UserAction() { 
 
      //get roll no from localstorage 
 
      var rollNo = 10; 
 
      document.getElementById("rollNo").value = rollNo; 
 
    }
<body onload="UserAction()"> 
 

 

 
<form action="student" id="add" align="center"> 
 
    Rollno:<input type="text" name="rollNo" id="rollNo"><br> 
 
    Name: <input type="text" name="name" id="name"><br> 
 
    <br> 
 
</form> 
 
    
 
</body>

而且在當元素被document.getElementById("rollNo")檢測這樣你就不會得到錯誤"Cannot set property 'value' of null'

+0

感謝它的工作實際上,我寫了document.write()來測試變量的內容,從此我將忽略它 –

0

嘗試用以下行替換功能:

function UserAction() { 
     var rollNo = parseInt(localStorage.getItem("rollNo")); 
     document.getElementById("rollNo").value= rollNo; 
    } 

您提交的錯誤是放置整個身體的卷號而不是特定的輸入字段。

由於整個主體在localstorage中被替換爲rollnumber,因此沒有id爲'rollNo'的元素,因此錯誤表示它不能設置null的屬性'value'。

相關問題