Javascript 在jsp内动态创建输入框并发送到servlet
我创建了一个jsp,它有一个动态添加输入框X的脚本,问题是我不知道如何将它放到servlet上,以便将数据从这些动态输入框保存到数据库中。请帮帮我 var i=1Javascript 在jsp内动态创建输入框并发送到servlet,javascript,arrays,servlets,Javascript,Arrays,Servlets,我创建了一个jsp,它有一个动态添加输入框X的脚本,问题是我不知道如何将它放到servlet上,以便将数据从这些动态输入框保存到数据库中。请帮帮我 var i=1 <form id="add_pname" name="add_pname"><table class="table table-bordered" id="dynamic_field"> <tr> <td><select name="txtProduct" id="txtPr
<form id="add_pname" name="add_pname"><table class="table table-bordered" id="dynamic_field">
<tr>
<td><select name="txtProduct" id="txtProduct" class="form-control name_list" ><option value="">- Product -</option><%=obj.getProductOpt("")%></select></td>
</tr></table></form>
我想将所有添加的输入框传递给servlet,并将其保存到数据库中。pelase帮帮我好吧,有不同的方法来解决这个问题,让我们描述其中的两种 客户端方法 我将向表单(
submit=“myHandler()”
)中添加一个提交处理程序,在表单中循环遍历所有表行,获取下拉值(txtProduct
)和文本值(txtQty
),将它们组合成一个对象,将该对象添加到数组中,然后将数组发送到servlet,可以通过标准POST表单提交(例如,字符串化为隐藏表单字段),也可以通过AJAX调用
然后,servlet需要对数据进行反序列化,并创建其Java表示以将其存储到数据库中
服务器端方法
动态添加输入字段时,不要使用相同的名称,而是添加一个计数器,这样您的表行将包含txtProduct1
和txtQty1
,然后是txtProduct2
+txtQty2
,依此类推。然后使用普通表单提交将表单发送到servlet
然后servlet需要迭代请求参数(参见示例)获取所有txtProductX
和txtQtyX
参数及其值,组合它们(因为通过这些数字可以清楚地知道哪个数量属于哪个产品),并存储到数据库中
很抱歉没有代码,但有代码示例,这将是一篇文章/教程,而不是一个简单的答案。如果你在特定的步骤上需要一些帮助,请随意问一个新问题(在你用谷歌搜索之后)
$('#add').click(function(){
i++;
$('#dynamic_field').append('<tr id="row'+i+'"><td><select name="txtProduct" id="txtProduct" class="form-control name_list" ><option value="">- Product -</option><%=obj.getProductOpt("")%></select></td><td><input type="text" name="txtQty" id="txtQty'+i+'" class="form-control"/></td><td><input type="button" name="remove" value="X" id="'+i+'" class="btn btn-danger btn_remove"/> </td></tr>');
});
$(document).on('click', '.btn_remove', function(){
var button_id = $(this).attr("id");
$('#row'+button_id+'').remove();
});