我使用以下代码在单击表中的按钮时创建了动态行:
<script type="text/javascript">
var counter = 1;
function displayResult()
{
counter++;
document.getElementById("myTable").insertRow(-1).innerHTML = '<td><select name="list_dispatch_state" id="list_dispatch_state"><option value="01">01</option><option value="02">02</option><option value="03">03</option></select></td><td><input type="text" name="txt_email'+ counter +'" id="txt_email'+ counter +'" value='+ counter +'></td>';
}
</script>
<body>
<form action="Dogetdat" method="post">
<table id="myTable" border="1">
<tr>
<th>Select</th>
<th>Value</th>
</tr>
</table>
<br />
<button type="button" onclick="displayResult()">Insert new row</button>
<input type="submit">
</form>
</body>
我的问题是,单击按钮时会创建新行和其中的控件,但是当我单击提交时,表单会提交到 servlet 页面。 那么servlet怎么知道收到了多少数据呢?
因为在 servlet 中我将使用获取数据
String str1= request.gerParameter("txt_email");
servlet 如何知道它必须创建多少个变量以及变量的名称是什么?我必须在 request.gerParameter("");
中传递什么?
最佳答案
您必须使用以下request.getParameterValues
并以数组形式获取结果
String emails[] = request.getParameterValues("txt_email");
关于java - 如何知道创建了多少个动态控件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20994466/