Я просмотрел все версии этого простого скрипта, и я не могу заставить его работать.JS: Добавление текстовых входов динамически не работает
Кнопка добавляет поля, я проверяю исходный код, когда я нажимаю кнопку, и он добавляет правильные поля с правильным именем =, но когда я отправляю, информация не передается из динамически добавленных полей.
var count = 2;
function addLine() {
var table = document.getElementById("myTable");
var row = table.insertRow(-1);
var cell1 = row.insertCell(0);
var cell2 = row.insertCell(1);
\t var cell3 = row.insertCell(2);
\t var cell4 = row.insertCell(3);
\t var cell5 = row.insertCell(4);
\t cell1.setAttribute("class", "odd");
\t cell2.setAttribute("class", "odd");
\t cell3.setAttribute("class", "odd");
\t cell4.setAttribute("class", "odd");
\t cell5.setAttribute("class", "odd");
\t var input1 = document.createElement('INPUT');
\t input1.setAttribute("type", "text");
\t input1.setAttribute("name", "input" + count + "d1");
\t input1.setAttribute("class", "whtext");
\t cell1.appendChild(input1);
\t cell2.innerHTML = "<input class='whtext' name='input" + count + "d2' type='text'>";
\t cell3.innerHTML = "<input class='whtext' name='input" + count + "d3' type='text'>";
\t cell4.innerHTML = "<input class='whtext' name='input" + count + "d4' type='text'>";
\t cell5.innerHTML = "<input class='whtext' name='input" + count + "d5' type='text'>";
\t document.getElementById("counter").value = count;
\t count++;
}
Как вы можете видеть, у меня есть две разные версии я пробовал, с AppendChild и просто добавить в innerHTML. Я новичок в JS, так что это меня озадачило.
Я запустил var_dump ($ _ POST); и ни один из добавленных полей JS не появляется.
Лучшее, что вы можете сделать для начала, - это разделить его на такие функции, как createCell(), createInput(). Таким образом, ваш код будет более организованным и легко меняющимся, это не лучший способ, я могу дать ответ на вашу проблему, но я бы не стал вам действительно помогать. – ocespedes
Я подозреваю, что input1.setAttribute («имя», ...) не работает как видимые случаи, когда браузеры не позволяют вам устанавливать имя с помощью setAttribute .. У вас есть метод innerHTML вместо методов DOM в качестве теста? тоже какой браузер? –
Нам нужен код HTML, который будет с ним! –