javascript - 在jsp中动态创建输入框并发送到servlet

标签 javascript arrays servlets

我创建了一个 jsp,它有一个动态添加输入框的脚本,问题是我不知道如何将它扔到 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>

//添加输入框

$('#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();
});

我想将所有添加的输入框传递给servlet并将其保存到数据库中。请帮助我

最佳答案

嗯,有不同的方法可以解决这个问题,让我们描述其中的两种。

客户端方法

我将向表单添加一个提交处理程序 (submit="myHandler()"),在其中循环遍历所有表行,获取下拉值 (txtProduct )和文本值(txtQty),将它们组合成一个对象,将该对象添加到一个数组中,然后通过标准 POST 表单提交(例如字符串化为隐藏表单字段),或通过 AJAX 调用。

然后,Servlet 需要反序列化数据并创建其 Java 表示形式以将其存储到数据库中。

服务器端方法

动态添加输入字段时,不要使用相同的名称,而是添加一个计数器,这样您将拥有包含 txtProduct1txtQty1 的表行,然后txtProduct2 + txtQty2,依此类推。然后只需使用普通表单提交将表单发送到 servlet。

然后 servlet 需要迭代请求参数(例如 https://stackoverflow.com/a/2595272/3511123 )获取所有 txtProductX 和 txtQtyX 参数及其值,将它们组合起来(因为感谢编号清楚哪个数量属于哪个产品),并存储到数据库中。

抱歉没有代码,但是如果有代码示例,这将是一篇文章/教程,而不是一个简单的答案。如果您需要特定步骤的帮助,请随时提出新问题(在进行明显的谷歌搜索之后)。

关于javascript - 在jsp中动态创建输入框并发送到servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57357358/

相关文章:

javascript - 试图整理出 JQuery 的算法

arrays - 对两个数组使用类运算符

javascript - 如何将客户端TimezoneOffset放入初始请求中?

javascript - 未处理的拒绝 (TypeError) : Invalid attempt to destructure non-iterable instance

javascript - JavaScript 的工作原理 : inside the V8 engine?

javascript - 4秒后JS自动点击按钮。 (油腻猴)

java - 如何使用另一个类中的字符串数组?

arrays - fortran,将可分配数组传递给具有右边界的子例程

java - 是否可以将图像从 Android 手机传递到 Java Servlet 进行处理并取回修改后的图像

jakarta-ee - 如何使用 servlet 对用户进行身份验证