Javascript 无法访问servlet中动态创建的文本框值,将空值作为输出

Javascript 无法访问servlet中动态创建的文本框值,将空值作为输出,javascript,servlets,Javascript,Servlets,下面是我的javascript函数,每次单击按钮时调用addRow()函数时,我都会动态创建两个文本框。此外,我还动态设置每个文本框的名称属性。但我无法从servlet访问这些文本框值,并获取空值作为输出 <html> <head> <script> var count=1; function addRow() { var table = document.getElementById('table'); var rowCount = table.

下面是我的javascript函数,每次单击按钮时调用addRow()函数时,我都会动态创建两个文本框。此外,我还动态设置每个文本框的名称属性。但我无法从servlet访问这些文本框值,并获取空值作为输出

<html>
<head>
<script>
var count=1;
function addRow()
{


var table = document.getElementById('table');
    var rowCount = table.rows.length;
    var row = table.insertRow(rowCount);
    var cell1 = row.insertCell(0);
    var element1 = document.createElement("input");
    element1.type = "text";
    element1.name = "item "+ count;
   // document.write(element1.name);
    cell1.appendChild(element1);     

    var cell2 = row.insertCell(1);
    var element2 = document.createElement("input");
    element2.type = "text";
    element2.name = "amount" + count;
    cell2.appendChild(element2);

    var cell3 = row.insertCell(2);
    cell3.innerHTML = ' <input type="button" value="Edit" onclick="editRow(this)"/><input type="button" value="Delete" onclick="deleteRow(this)"/>';
    cell3.setAttribute("style", "display:none;");

    var cell4 = row.insertCell(3);
    cell4.innerHTML = '<input type="button" value="Save" onClick="saveRow(this)">';


    document.listform.hfield.value=rowCount;
    count++;



}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<link rel="stylesheet" href="css/style.css" type="text/css">
<title>Create your list</title>
</head>
<body>
<form name="listform" method="post" action="Billingservlet">
<div class="wrap">
<center>
<div id="display">
<table id='table' border="0">
<tr id='id'>
<th>
            Item Name
        </th>

        <th>
            No. of units
        </th>   
</tr>   
</table>    

<input type="button" value="Add another item" onclick="addRow()">   
<input type="submit" value="Submit List">
<input type="hidden" name="hfield">

</div>
</center>
</div>
</form>
</body>
</html>

var计数=1;
函数addRow()
{
var table=document.getElementById('table');
var rowCount=table.rows.length;
var row=table.insertRow(rowCount);
var cell1=行插入单元格(0);
var element1=document.createElement(“输入”);
element1.type=“text”;
element1.name=“项”+计数;
//文件。书写(元素1.名称);
单元格1.附加子元素(元素1);
var cell2=行插入单元格(1);
var element2=document.createElement(“输入”);
element2.type=“text”;
element2.name=“amount”+计数;
第2单元。附加子元素(元素2);
var cell3=行插入单元格(2);
cell3.innerHTML='';
cell3.setAttribute(“样式”,“显示:无;”);
var cell4=行插入单元格(3);
cell4.innerHTML='';
document.listform.hfield.value=rowCount;
计数++;
}
创建您的列表
项目名称
单位数目

您能说明您是如何读取这些值的吗?您是否尝试过使用数组复选框(我认为它类似于name=“amount[]”),我正在使用request.getParameter(amount[1])读取servlet中的值,但它给了我空值。然后通过添加代码更新您的问题。似乎您正在使用element1 element2作为名称,元素[1]无法访问它们;若要使用元素[i],必须将HTML名称重命名为array。看看这里: