我正在使用localStorage离线捕获表单数据,以便以后可以在Internet连接可用时上载。每组数据都显示为表中的新行。我的表被包装在一个表单中,并且td元素具有隐藏的输入标记,其值等于其内容,如下所示。这是使用jQuery动态创建的。
<tr>
<td><input type="hidden" name="FirstName" id="FirstName" value="Ollie">Ollie</td>
<td><input type="hidden" name="Surname" id="Surname" value="Clark">Clark</td>
...and so on
</tr>
我已经成功设法将表单提交到数据库,只有一行存在。但是,当我有多行时,事情变得复杂,因为所有td元素共享相同的ID。单击“提交”按钮后,有什么方法可以让表单单独提交每一行?可能通过某种循环?任何答案都赞赏,我用Google搜索了这个,似乎找不到任何有用的东西。谢谢!
答案 0 :(得分:0)
您可以使用jQuery .each()函数对选择器捕获的所有元素重复相同的操作。所以你可以这样做:
$(td).each(function(index, element) {
// do submitting stuff
});
答案 1 :(得分:0)
我不确定这是否是您正在寻找的,但这也可能有所帮助。 您可以将所有输入命名为相同,例如&#34; inputField&#34;
<tr>
<td><input type="hidden" name="inputOne" id="FirstName" value="Ollie">Ollie</td>
<td><input type="hidden" name="inputTwo" id="Surname" value="Clark">Clark</td>
</tr>
<tr>
<td><input type="hidden" name="inputOne" id="FirstName" value="Ollie">Ollie</td>
<td><input type="hidden" name="inputTwo" id="Surname" value="Clark">Clark</td>
</tr>
因此,当您提交表单时,请在您的servlet中执行以下操作,您应该按照它在html页面中显示的顺序排列所有输入的数组。
String[] inputOneArray = request.getParameterValues("inputOne");
String[] inputTwoArray = request.getParameterValues("inputOne");