Почему цикл Infinite for сохраняется, хотя существуют условия завершения? - PullRequest
0 голосов
/ 01 июня 2018

Эта функция предназначена для создания динамической таблицы из двух текстовых значений типа ввода.

второй бесконечный цикл for, хотя существует условие, что j меньше входного значения (col).я попытался со значениями [row = 5 columns = 5], но все равно получаю бесконечный цикл.

function addtable(){

    var row = document.getElementById('row1').value;
    var col = document.getElementById('col1').value;
    if( row === "" || col === ""){alert("Please Enter Row & Column values");}
    //console.log(row*col);
    table = document.createElement('table');
    //table.id='Ntables';
    console.log(table);
    var i = 0;

    for( i; i <(row+1) ; i++)
    {
        var tr = document.createElement('tr');
        //tr.id='Ntablerows';
        console.log(tr);
        table.appendChild(tr);
        var j = 0;

        for(j; j < (col+1); j++)
        {
            var td = document.createElement('td');
            console.log(td);
            tr.appendChild(td);
            //td.id='Ntablecols'
            var input = document.createElement('input');
            input.type = 'text';
            //input.id = 'Ntableinput';
            td.appendChild(input);
        }
     }
     return (0);
}

Редактировать : это был не бесконечный цикл, это было числосоединяются с переменной цикла.делая его больше, чем ожидалось.

enter image description here

1 Ответ

0 голосов
/ 01 июня 2018

попробуйте это:

var row = document.getElementById('row1').value;
var col = document.getElementById('col1').value;
if( row === "" || col === ""){alert("Please Enter Row & Column values");}
row = parseInt( row )
col = parseInt( col )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...