#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);’