2013-05-24 15 views
5

Aslında bir metin alanları tablosu olan bir formum var. html şuna benzer:Metin alanları tablosundan değerleri al javascript

<form> 
    <table id="table"> 
      <tr> 
       <th>Player</th> 
       <th>Number</th> 
       <th>Con.per.day</th> 
       <th>P.100.kg</th> 
       <th>P.day</th> 
       <th>I.month</th> 
      </tr> 

      <tr> 
       <td><input type="text" /></td> 
       <td><input type="text" /></td> 
       <td><input type="text" /></td> 
       <td><input type="text" /></td> 
       <td><input type="text" /></td> 
       <td>Result</td> 
      </tr> 


      <tr> 
       <td><input type="text" /></td> 
       <td><input type="text" /></td> 
       <td><input type="text" /></td> 
       <td><input type="text" /></td> 
       <td><input type="text" /></td> 
       <td>Result</td> 
      </tr> 


      <tr> 
       <td><input type="text" /></td> 
       <td><input type="text" /></td> 
       <td><input type="text" /></td> 
       <td><input type="text" /></td> 
       <td><input type="text" /></td> 
       <td>Result</td> 
      </tr> 

     </table> 
     <input type="button" name="rank" value="Rank" onClick="rankPlayers(this.form)"/> 
    </form> 

Ben tüm alanları yineleme ve düğmeye basarak değerlerini almak istiyorum ama konsol günlüğüne döndü tanımsız olsun. Bazı sütun işlemleri yapmak istediğimden (ekleme, çarpma) her alan için kimlik kullanmak istemiyorum. İlk sütun için komut dosyası şunun gibi görünüyor:

  function rankPlayers(){ 
      var table=document.getElementById("table"); 
      for(var i=1; i<table.rows.length;i++){ 

        console.log(table.rows[i].cells[0].value); 
      } 
     } 

Herhangi bir ipucu? Teşekkür

+0

Neden kalıp elemanları içinden yineleme ve unutma firstChild değerini denetler tablo tamamen mi? –

+0

Merhaba, çünkü bazı doğrusal işlemler (sütun ile) yapmam gerekiyor. Teşekkürler – user2135738

cevap

12

Sen hücreden girişini seçmek gerekir: Eğer girişler etrafında (hatta boşluk) kardeşleri var olsaydı

// ------------------------------------v 
console.log(table.rows[i].cells[0].firstChild.value); 

, ardından hedeflemek .children koleksiyonunu kullanabilirsiniz doğru eleman

// ------------------------------------v 
console.log(table.rows[i].cells[0].children[0].value); 

+0

Hızlı yanıt için çok teşekkürler! – user2135738

0

Bu hizmeti kullanmak için döngü değiştirebilirsiniz:

var table=document.getElementsByTagName("td"); 
    for(var i=1; i<table.length;i++){ 
     console.log(table[i].firstChild.value); 
    } 

Bu onları döngüler, tüm td unsurları alır ve