2012-02-14 67 views
1

我試圖創建一個函數來檢查以確保用戶提供的所有輸入都是數字。從使用getElementsByClassName()創建的數組獲取值

function wholeFormValid() { 
var inp = document.getElementsByClassName('userInput'); 
    //userInput is a class name i provide to all my non-hidden input fields. 
    //I have over 20 hidden values (I need to use hidden values to store state in a session). 

    //Wanted to print out what my function is getting. I keep seeing undefined values. 
var string= "justToInitializeThis"; 
for(var m in inp) { 
    string = string + " " + inp.value; 
} 
alert(string); 

    //Actual function that will be used once I track down the bug. 
for(var i in inp) { 

    if(inp.value != "") { 
     if(!(/^[0-9]+$/.test(inp.value))) { 
      return false; 
     } 
    } 
} 
return true; 

}

功能確實得到正確的輸入欄後,我可以從我的不同的頁面告訴他們輸入的用戶可以給量而變化。但我無法理解的是爲什麼我的所有值都返回爲null而不是用戶輸入的內容。我是相當新的HTML & Javascript和只需要第二雙眼睛在這:)在此先感謝。

回答

2

使用此

var inp = document.getElementsByClassName('userInput'); 

var string= "justToInitializeThis"; 
for(var i=0; i < inp.length; i++) { 
    string = string + " " + inp[i].value; 
} 
alert(string); 

同爲另一環太