Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在jsp内动态创建输入框并发送到servlet_Javascript_Arrays_Servlets - Fatal编程技术网

Javascript 在jsp内动态创建输入框并发送到servlet

Javascript 在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

我创建了一个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="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();
});