Javascriptde element olusturma sorunu

Merhaba.javascriptde satir ve sutun sayini girdigimiz,daha sonra girdigimiz bu sayilara gore tablo olusturan bir program yazmaya calisdim.ama anlamadigim bir sekilde program calismiyor.kodlari paylasiyorum.kodlari inceleyerek nerede hata yaptigimi soylerseniz sevinirim.Kodlar:

js ogrenme *{ font-family:Verdana, Geneva, Tahoma, sans-serif; } #buton{ padding: 16px; border: 2px solid rgb(18, 126, 18); border-radius: 4px; }
    input{
        border: 2px solid rgb(18, 126, 18);
        border-radius: 4px;
        padding: 10px;
    }
</style>
setir sayini girin:

sutun sayini girin:


olustur

arkadaslar kod nasil gonderiliyor bir turlu yapamadim:(

```html
<buraya kodlar gelecek>
```

1 Be─čeni
<!DOCTYPE html>
<html lang="tr-TR">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>js ogrenme</title>
    <style type="text/css">
    *{
        font-family:Verdana, Geneva, Tahoma, sans-serif;
    }
        #buton{
            padding: 16px;
            border: 2px solid rgb(18, 126, 18);
            border-radius: 4px;
        }

        input{
            border: 2px solid rgb(18, 126, 18);
            border-radius: 4px;
            padding: 10px;
        }
    </style>
</head>
<body>
    <label>setir sayini girin:</label>
    <br>
    <input type="text" id="setir">
    <br>
    <label>sutun sayini girin:</label>
    <br>
    <input type="text" id="sutun">
    <br><br>
    <button id="buton" onclick="funk()">olustur</button>
<script>
     var buton = document.getElementById("buton")
     function funk(){
        var tablo = document.createElement("table")
        var setir = document.getElementById("setir").value
        var sutun = document.getElementById("sutun").value
        var tr = document.createElement("tr")
        var td = document.createElement("td")
        document.body.appendChild(tablo)
        var i = 1
        while(i<=setir){
            document.tablo.appendChild(tr)
            i++
        }
        var j = 1
        while(j<=sutun){
            document.tr.appendChild(td)
            j++

        }

     }
     
     
</script>
    
</body>
</html>

tesekkur ederimÔÇŽ

Web programlamadan ├žok anlamam ama kimse yazmay─▒nca elimden geldi─čince d├╝zeltmeye ├žal─▒┼čt─▒m.

<!DOCTYPE html>
<html lang="tr-TR">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>js ogrenme</title>
    <style type="text/css">
        * {
            font-family: Verdana, Geneva, Tahoma, sans-serif;
        }

        #buton {
            padding: 16px;
            border: 2px solid rgb(18, 126, 18);
            border-radius: 4px;
        }

        input {
            border: 2px solid rgb(18, 126, 18);
            border-radius: 4px;
            padding: 10px;
        }
    </style>
</head>

<body>
    <label>satir sayini girin:</label>
    <br>
    <input type="text" id="satir">
    <br>
    <label>sutun sayini girin:</label>
    <br>
    <input type="text" id="sutun">
    <br><br>
    <button id="buton" onclick="funk()">olustur</button>
    <table id="tablo"></table>
    <script>
        let buton = document.getElementById("buton")
        let tablo = document.getElementById("tablo")

        function funk() {
            tablo.innerText = "";

            let satir = document.getElementById("satir").value;
            let sutun = document.getElementById("sutun").value;

            let header_tr = document.createElement("tr");

            for (let j = 0; j < sutun; j++) {
                let th = document.createElement("th");
                th.innerText = "column" + j;
                header_tr.appendChild(th)
            }

            tablo.appendChild(header_tr);

            for (let i = 0; i < satir; i++) {
                let tr = document.createElement("tr");

                for (let j = 0; j < sutun; j++) {
                    let td = document.createElement("td");
                    td.innerText = `r${i}c${j}`;
                    tr.appendChild(td);
                }

                tablo.appendChild(tr);
            }
        }


    </script>

</body>

</html>
1 Be─čeni

Hatayi firefox soyluyor zaten:

TypeError: document.tablo is undefined a.html:45:13

tablo lokal degiskenine document.tablo seklinde erisilmis. tablo diyince duzeliyor. (tr keza)

Bu arada tabloya n tane satir (veya satira k tane hucre) ekleyebilmek icin n tane satir yaratmak lazim. Ayni satiri n kere eklemek bir ise yaramazÔÇŽ

1 Be─čeni