动态添加的字段无法识别

时间:2015-02-01 11:19:19

标签: html

我有这个JS函数,它在单击按钮时动态添加表字段。

问题是,提交表单后,动态添加的字段值没有传递给jsp页面。

function addI(){      
  if(count==1)    
    count=2;
  var table = document.getElementById("tab");
  var row = table.insertRow(count);
  var cell1 = row.insertCell(0);
  var cell2 = row.insertCell(1);
  var cell4 = row.insertCell(2);
  var cell5 = row.insertCell(3);
  var cell6 = row.insertCell(4);
  var cell7 = row.insertCell(5);
  var cell8 = row.insertCell(6);
  var cell9 = row.insertCell(7);
  var cell10 = row.insertCell(8);
  cell1.innerHTML = count;  
  cell2.innerHTML =" <select name='fabric"+count+"'  id='sel"+count+"' onchange='rat1("+count+")'  > <option> Fabrics </option>for(i=0;i< jsArr.length ; i++ ) { <option value="+jsArr[i]+" > " +jsArrname[i] + " </option> }</select>";
  cell4.innerHTML ="<input type='color' name='color"+count+"'  value='#ffffff' > ";
  cell5.innerHTML ="<input type='text' name='length"+count+"' id='l"+count+"' size='5'  >";

  cell6.innerHTML ="<input type='text' name='breadth"+count+"' id='b"+count+"' size='5'>";
  cell7.innerHTML ="<input type='text' name='qty"+count+"' id='q"+count+"' size='5' onchange='compute1("+count+")' >";
  cell8.innerHTML ="<INPUT TYPE='TEXT' NAME='rate"+count+"'  id='ra"+count+"' SIZE='5' disabled ><INPUT TYPE='TEXT' NAME='rate"+count+"'  id='ra1"+count+"' SIZE='5' hidden >";
  cell9.innerHTML ="<INPUT TYPE='TEXT' NAME='amt"+count+"' id='a"+count+"' SIZE='5' disabled ><INPUT TYPE='TEXT' NAME='amt"+count+"' id='a1"+count+"' SIZE='5' hidden >";

  cell10.innerHTML="<input type='button' value='x' id='"+count+"' onClick='del("+count+")' >";     
  count++;

}

jsArr[]是包含将在下拉列表中选择的结构列表的数组。

1 个答案:

答案 0 :(得分:0)

将HTML放入cell2时存在语法错误。

您无法使用文本字符串中的循环或其他功能,就像您尝试过的那样,请参阅下面的代码。

var str = "<select name='fabric" + count + "'  id='sel" + count + "' onchange='rat1(" + count + ")'  ><option> Fabrics </option>";
for (var i = 0; i < jsArr.length; i++) { 
    str += "<option value=" + jsArr[i] + ">" + jsArrname[i] + "</option>"; 
}
str += "</select>";

cell2.innerHTML = str;