0

I need to write a script that displays the first 20 numbers in the fibonacci sequence in a web page. It also has to display these numbers in a table that is one column wide and 20 rows long. My javascript to display the numbers works, but I can't figure out how to get them to display in a table.

This is what I have so far:

   <script type="text/javascript">
        <!--

            var var1 = 0;
            var var2 = 1;
            var var3;

            var num = 20;

            document.write("<tr><td>"+var1+"</td></tr>");
            document.write("<tr><td>"+var2+"</td></tr>");

            for(var i=3; i <= num;i++)
            {
                var3 = var1 + var2;
                var1 = var2;
                var2 = var3;

                document.write("<tr><td>"+var3+"</td></tr>");
            }

        // -->
   </script>
cweiske
  • 27,869
  • 13
  • 115
  • 180

3 Answers3

2

You need a <table> and <tbody> for it to work.

document.write("<table><tbody>");
//create the table contents
document.write("</tbody></table>");
bjb568
  • 9,826
  • 11
  • 45
  • 66
0

Seems to me you are just missing the table element in the beginning and the end:

document.write("<table><tbody>");
        var var1 = 0;
        var var2 = 1;
        var var3;

        var num = 20;

        document.write("<tr><td>"+var1+"</td></tr>");
        document.write("<tr><td>"+var2+"</td></tr>");

        for(var i=3; i <= num;i++)
        {
            var3 = var1 + var2;
            var1 = var2;
            var2 = var3;

            document.write("<tr><td>"+var3+"</td></tr>");
        }
document.write("</tbody></table>");
juvian
  • 15,212
  • 2
  • 30
  • 35
0
        var var1 = 0,
            var2 = 1,
            var3 = 1,
            data = [0,1],
            html = '',
            num = 20;

        for(var i=3; i <= num;i++)
        {
            var3 = var1 + var2;
            var1 = var2;
            var2 = var3;

            data.push(var3);
        }
        html = "<table><tbody><tr><td>" + data.join("</td></tr><tr><td>") + "</td></tr></tbody></table>";
        document.write(html);

http://jsfiddle.net/4ea4d/

Malk
  • 11,107
  • 4
  • 31
  • 32