2016-11-13 17 views
0

當我運行這段代碼,我在控制檯收到此錯誤的JavaScript無法讀取文本框的值

無法讀取空

的特性「值」正如你所看到的txt1txt2值不爲空,並將javascript鏈接到HTML代碼,我已用音頻文件對其進行了測試。

var audio = new Audio('sound/saw.mp3'); 
 
var min=0; 
 
min=document.getElementById('txt1').value; 
 
var max=0; 
 
max=document.getElementById('txt2').value;
<label id="lbl1" for="txt1">lowest number </label> 
 
<input id="txt1" type="text" class="enjoy" value="0"> 
 

 
<label id="lbl2" for="txt2">highest number </label> 
 
<input id="txt2" type="text" class="enjoy" value="100" /> 
 

+1

是那些已經在DOM中加載的控件? – Rahul

+1

你有上面或下面的輸入JavaScript代碼? – scaisEdge

回答

0

這很可能是一個時間問題。 Javascript在加載到dom之前無法找到節點。只是包裝你的JS在window.onload()功能:

window.onload = function(){ 
    var audio = new Audio('sound/saw.mp3'); 
    var min=0; 
    min=document.getElementById('txt1').value; 
    var max=0; 
    max=document.getElementById('txt2').value; 
} 

這將確保您嘗試訪問它們之前的節點存在。你可以閱讀一些有關在這裏:https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onload

0

存在丟失/在標籤:

應該是:

如果你想要的內容您必須使用的標籤:

document.getElementById(「txt1」)。innerHTML

如果你想要一個屬性值,你必須使用

的document.getElementById(「txt1中」)的getAttribute(「值」)

如果你想訪問一個文本字段中的值:。

的document.getElementById( 「txt1中」)。值

反正使用jQuery導航DOM,它比DOM API更容易。