通过Javascript打印具有给定行和列的div内的表

通过Javascript打印具有给定行和列的div内的表,javascript,html,for-loop,html-table,Javascript,Html,For Loop,Html Table,我有两个文本字段和一个按钮。当用户单击该按钮时,它调用一个函数并在一个div中打印一个具有给定行数和列数的表 您可以在下面看到我的代码,但这并没有按预期工作 HTML Rows <input type="text" id="rows"> Columns <input type="text" id="columns"> <input type="button" value="Create Table" onClick="printTable(

我有两个文本字段和一个按钮。当用户单击该按钮时,它调用一个函数并在一个div中打印一个具有给定行数和列数的表


您可以在下面看到我的代码,但这并没有按预期工作

HTML

    Rows <input type="text" id="rows">
    Columns <input type="text" id="columns">

    <input type="button" value="Create Table" onClick="printTable();">

    <div id="box"></div>
行
柱
Javascript

    function printTable()
    {
        var nRows=document.getElementById("rows");
        var nColumns=document.getElementById("columns");
        var spaceofDiv=document.getElementById("box");

        spaceofDiv.innerHTML=("<table border=1>");
        for(i=0; i<nRows.value; i++)
        {
            spaceofDiv.innerHTML=("<tr>");
            for(j=0; j<nColumns.value; j++)
            {    
                spaceofDiv.innerHTML=("<td width=50 height=50>&nbsp;");
            }
        }
        spaceofDiv.innerHTML=("</table>");     

    }
函数printTable()
{
var nRows=document.getElementById(“行”);
var nColumns=document.getElementById(“列”);
var spaceofDiv=document.getElementById(“框”);
spaceofDiv.innerHTML=(“”);

对于(i=0;i尝试以下操作。使用变量将所有字符串添加到其中,然后设置innerhtml。如果您没有关闭
tr

function printTable()
    {
        var nRows=document.getElementById("rows");
        var nColumns=document.getElementById("columns");
        var spaceofDiv=document.getElementById("box");
        var tableStr = "";
        tableStr =("<table border=1>");
        for(i=0; i<nRows.value; i++)
        {
            tableStr +="<tr>";
            for(j=0; j<nColumns.value; j++)
            {    
                tableStr +="<td width=50 height=50></td>&nbsp;";
            }
            tableStr +="</tr>"; 
        }
        tableStr  += "</table>"
        spaceofDiv.innerHTML=tableStr;     

    }
函数printTable()
{
var nRows=document.getElementById(“行”);
var nColumns=document.getElementById(“列”);
var spaceofDiv=document.getElementById(“框”);
var tableStr=“”;
tableStr=(“”);

对于(i=0;i你需要记住

A) 关闭表格行和表格单元格元素

B) 连接表标记的值,因为当前正在用每个赋值覆盖更改

    var markup = '';
    markup = "<table border=1>";
    for(i=0; i<nRows.value; i++)
    {
        markup += "<tr>";
        for(j=0; j<nColumns.value; j++)
        {    
            markup += "<td width=50 height=50>&nbsp;</td>";
        }
        markup += "</tr>";
    }
    markup = "</table>";     

    spaceofDiv.innerHTML = markup;
var标记=”;
加价=”;

对于(i=0;i“未按预期工作”:你期望它做什么?你得到了什么?我看到你是新的。记住:你提供的详细信息越多,你就越容易得到答复和准确的答复。下次我会做更好的解释!感谢你的关注和时间!抱歉。即将给你+1,但错了。我的错!你可能想关闭表格单元格元素我现在也这么做,这是我的坏习惯