Bu Javascript örneğinde DOM nesneleri kullanarak dinamik olarak Tablo oluşturma yapılmıştır.
document.getElementById: HTML belgesindeki nesnelerin javascript tarafında temsil edilmeleri için kullanılmaktadır. Dökümanda temsil edilecek nesnenin ID değeri ile nesneyi çağırır.
document.createElement: HTML nesnesi oluşturmak için kullanılır. Bellek üzerinde dinamik olarak HTML nesnesi oluşturmak için kullanılır.
node.appendChild: node düğümüne parametre olarak gönderilen nesneyi ekler. HTML nesnelerinin içine başka nesneleri eklemek için kullanılır. Örnekte <table> içine <tr> ve <tr> içine de <td> nesnelerini eklemek için kullanılmıştır.
Uygulamanın çalışan hali aşağıdaki gibi olacaktır.
JavaScript HTML Tablo Oluşturma
İlk olarak HTML nesneleri ile belgemizi oluşturuyoruz. HTML nesnelerini oluştururken dikkat edilmesi gereken nokta nesnelerin id değerleridir. Aşağıdaki gibi 2 tane text ve bir tane button nesnesi ile ekranda gösterilmek üzere bir tane div nesnsi oluşturulmuştur.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | <!doctype html> <html> <head> <meta charset="utf-8"> <title>www.yazilimkodlama.com</title> <style> label{ display: block; } table,td{ border:1px solid red; } </style> </head> <body> <label>Satır Sayısı</label> <input type="text" id="satir"> <label>Sütun Sayısı</label> <input type="text" id="sutun"> <label><button id="olustur">Oluştur</button></label> <div id="goster"></div> <script> <script> </body> </html> |
Sonraki adımda #olustur butonuna bastığımızda kodların çalışması için gerekli onclik olayını bir fonksiyona aşağıdaki gibi bağlıyoruz.
1 2 3 4 5 6 7 8 9 10 | <script> var olustur= document.getElementById("olustur"); olustur.onclick=function(){ //tüm işlemler bu aralıkta yapılacak } </script> |
Text nesnelerinde değerleri okumak için text nesnelerinin id değerleri ile içindeki sayıları alıp, bir tane sayaç oluşturuyoruz.
1 2 3 4 5 6 7 8 9 10 | <script> var olustur= document.getElementById("olustur"); olustur.onclick=function(){ var sayac=1; var satir=document.getElementById("satir").value; var sutun=document.getElementById("sutun").value; } </script> |
Bu aşamadan sonraki kodların tamamı satır ve sütunları oluşturmak için yazılmış iç içe for döngülerini göstermektedir.
Ayrıca table nesnesini oluşturup ilk for döngüsünde table nesnesine tr etiketlerini oluşturup ekliyoruz. İkinci for döngüsünde ise td etiketlerini oluşturup bunları da tr etiketlerine ekliyoruz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | <script> var olustur= document.getElementById("olustur"); olustur.onclick=function(){ var sayac=1; var satir=document.getElementById("satir").value; var sutun=document.getElementById("sutun").value; var table=document.createElement("table"); for(var i=0;i<satir;i++){ var tr=document.createElement("tr"); table.appendChild(tr); for(var j=0;j<sutun;j++){ var td=document.createElement("td"); td.innerHTML=sayac++; tr.appendChild(td); } } document.getElementById("goster").innerHTML=""; document.getElementById("goster") .appendChild(table); } </script> |
Uygulama kodlarının son hali aşağıdaki gibi olacaktır.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | <!doctype html> <html> <head> <meta charset="utf-8"> <title>www.yazilimkodlama.com</title> <style> label{ display: block; } table,td{ border:1px solid red; } </style> </head> <body> <label>Satır Sayısı</label> <input type="text" id="satir"> <label>Sütun Sayısı</label> <input type="text" id="sutun"> <label><button id="olustur">Oluştur</button></label> <div id="goster"></div> <script> var olustur= document.getElementById("olustur"); olustur.onclick=function(){ var sayac=1; var satir=document.getElementById("satir").value; var sutun=document.getElementById("sutun").value; var table=document.createElement("table"); for(var i=0;i<satir;i++){ var tr=document.createElement("tr"); table.appendChild(tr); for(var j=0;j<sutun;j++){ var td=document.createElement("td"); td.innerHTML=sayac++; tr.appendChild(td); } } document.getElementById("goster").innerHTML=""; document.getElementById("goster") .appendChild(table); } </script> </body> </html> |