JS:动态添加文本输入不起作用

时间:2016-12-06 15:00:31

标签: javascript input dynamic

我查看了这个简单脚本的所有版本,我无法让它工作。

按钮添加字段,我在单击按钮时检查源代码,并使用正确的名称添加正确的字段=但是当我提交时,没有信息从动态添加的字段中传输。

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);
	var cell3 = row.insertCell(2);
	var cell4 = row.insertCell(3);
	var cell5 = row.insertCell(4);
	cell1.setAttribute("class", "odd");
	cell2.setAttribute("class", "odd");
	cell3.setAttribute("class", "odd");
	cell4.setAttribute("class", "odd");
	cell5.setAttribute("class", "odd");
	var input1 = document.createElement('INPUT');
	input1.setAttribute("type", "text");
	input1.setAttribute("name", "input" + count + "d1");
	input1.setAttribute("class", "whtext");
	cell1.appendChild(input1);
	cell2.innerHTML = "<input class='whtext' name='input" + count + "d2' type='text'>";
	cell3.innerHTML = "<input class='whtext' name='input" + count + "d3' type='text'>";
	cell4.innerHTML = "<input class='whtext' name='input" + count + "d4' type='text'>";
	cell5.innerHTML = "<input class='whtext' name='input" + count + "d5' type='text'>";
	document.getElementById("counter").value = count;
	count++;
}

正如您所看到的,我有两个不同的版本,我尝试过,使用appendChild并添加到innerHTML中。我是JS的新手,所以这让我很难过。

我运行了var_dump($ _ POST);并且没有JS添加的字段出现。

1 个答案:

答案 0 :(得分:0)

假设这个HTML:

$value

试试这个JS:

<form>
  <input type="hidden" id="counter">
  <table id="myTable">
  </table>
  <input type="submit" value="submit">
</form>

jsfiddle https://jsfiddle.net/3tbekvc1/ (提交后检查网络以验证表单变量已发送)