Добавление текстового поля в динамические позиции в JavaScript

#javascript #dynamic #textbox #position

#javascript #динамическое #текстовое поле #позиция

Вопрос:

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

Скажите что-нибудь вроде этого введите описание изображения здесь

У меня есть JavaScript, подобный этому:

     function addRow(tableID) {

        var table = document.getElementById(tableID);

        var rowCount = table.rows.length;
        var row = table.insertRow(rowCount);

        var cell1 = row.insertCell(0);
        var element1 = document.createElement('<input type="checkbox" name="chk">');
        cell1.appendChild(element1);

        var cell4 = row.insertCell(3);
        var element4 = document.createElement('<INPUT type="text" name="SubpartID"/>');
        cell4.appendChild(element4);

        var cell5 = row.insertCell(4);
        var element5 = document.createElement('<INPUT type="text" name="Quantity" value="1" />');
        cell5.appendChild(element5);

    }
  

но проблема с этим скриптом заключается в том, что когда я нажимаю кнопку «Добавить строку ввода подраздела», я могу увидеть добавленную новую строку, но только с установленным в ней флажком.

Я предполагаю, что cell4.appendChild(element4); и cell5.appendChild(element5); не работает.

Итак, результат выглядит следующим образом,

введите описание изображения здесь

Не могли бы вы, пожалуйста, помочь?

Комментарии:

1. Если вы используете Firefox с Firebug или Google Chrome, можете ли вы подтвердить, что при запуске этого кода ошибок нет?

Ответ №1:

Кажется, вы используете document.createElement неправильный путь. Вам нужно сделать это следующим образом:

 var element5 = document.createElement('input');
    element5.type = 'text';
    element5.name = 'Quantity';
    element5.value = 1;
cell5.appendChild(element5);
  

Должно быть одинаковым для остальных, за исключением разных атрибутов и значений.

Комментарии:

1. Я понял это. У меня должен был быть фиктивный дочерний элемент в строке. ‘row.insertCell(1);’ и ‘row.insertCell(2);’