2015-02-11 166 views
0

現在,這只是爲未來的項目參考,但我想調用一個讀取字符串,但後顯示一個浮動的函數。所以我首先檢查字符串,然後顯示一個隨機數字。我認爲,我遇到的問題是document.getElementById部分。有什麼建議麼??外部JavaScript文件問題

HTML文件:

<html> 
    <body> 
     <input type="text" id="letter" value=""/><br/> 
     <input type="button" value="LETS DO THIS!" onclick="floatNum();"/></br> 

     <script type="text/javascript" src="letNum.js"></script> 
    </body> 
</html> 

外部JS文件:

function floatNum() 
{ 
    var val1 = document.getElementById("letter"); 

    if (isNaN(val1) 
    { 
     alert(Math.random()) 
    } 
} 

回答

0

下面的代碼工作: - 在你的代碼,你錯過了右括號「)」靠近「如果條件」

<!DOCTYPE html> 
    <html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
     <title>demo</title> 
     <script type="text/javascript"> 
      function floatNum() 
      { 
       var letter = document.getElementById("letter"); 

       if (isNaN(letter.value))// using input fields value not the whole object 
       { 
        alert(Math.random()); 
       } 
      } 
     </script> 
    </head> 
    <body> 
     <input type="text" id="letter" value="" /><br /> 
     <input type="button" value="LETS DO THIS!" onclick="floatNum();" /> 

    </body> 
    </html> 
+0

感謝幫助傢伙! – Ciph333r 2015-02-11 17:23:28

0

是的,你要在元素傳遞的功能,像這樣:

<input type="button" value="LETS DO THIS!" onclick="floatNum(document.getElementById('letter'))"/></br> 

而且在你的JS

function floatNum(el) 
{ 
    if (isNaN(el) 
    { 
     alert(Math.random()) 
    } 
} 

在可重用函數的情況下 - 儘量不要依賴於您的DOM。想想如果你重命名你的元素或想再次使用這個函數會發生什麼。你以前不能 - 現在你可以。

+0

感謝提示它真的有幫助 – Ciph333r 2015-02-11 17:28:20

0

的問題是在這條線:

var val1 = document.getElementById("letter"); 

它應該是:

var val1 = document.getElementById("letter").value; 

第一組val1 DOM元素表示輸入標記時,它的第二組的文本值輸入標籤(其內容)。

0

您需要處理輸入字段的而不是輸入字段本身。

function floatNum() 
{ 
    var letter = document.getElementById("letter"); 

    if (isNaN(letter.value) // using input fields value not the whole object 
    { 
     alert(Math.random()) 
    } 
} 
0

您不抓取輸入值,而是輸入本身。

正確的代碼是:

var val1 = document.getElementById("letter").value;