一尘不染

如何将JavaScript数组发送到Form标签内的Servlet?

jsp

我已经创建了复选框代码,并在复选框上单击了我正在调用的函数,该函数会将传递的参数添加到JavaScript数组。我已经在主体内部使用了表单标签,并且在表单标签内部只有复选框和一个按钮。在按钮上单击servlet将被调用,因此我需要一些机制,该机制还将Java脚本数组数据与复选框值一起发送到servlet。

复选框的onClick我没有传递复选框的值,而是传递了其他详细信息,因此需要其他函数将数据添加到数组中并将其传递给servlet。

复选框代码:

<input type="checkbox" id="demo_box_2<%= aname %><%= aval %><%=k %>" class="css-checkbox" name="configcheckbox" value="<%= aval %>" onchange="addcategory('<%= acid %>')">
<label for="demo_box_2<%= aname %><%= aval %><%=k %>" name="demo_lbl_2<%=k %>" class="css-label">&nbsp;<%= aval %></label>

JavaScript函数:

            var acdata = [];
            function addcategory(acid)
            {
                    acdata.push(acid);
                    //alert(acid);
            }

checkbox的代码位于form标记内,所以我也想将具有checkbox值的acdata []数组发送到servlet,所以有什么帮助吗?


阅读 199

收藏
2020-06-10

共1个答案

一尘不染

这是Santosh解释的示例代码,

在您的脚本( 编辑 )中,

var acdata = [];
function addcategory(acid)
{
    acdata.push(acid);
    $("#hidden_array").val(acdata);
}

在您的html中,

<input type="checkbox" id="demo_box_2<%= aname %><%= aval %><%=k %>" 
class="css-checkbox" 
name="configcheckbox" value="<%= aval %>" onchange="addcategory('<%= acid %>')">
<label for="demo_box_2<%= aname %><%= aval %><%=k %>" name="demo_lbl_2<%=k %>" 
class="css-label">&nbsp;<%= aval %></label>

这样,您就可以在表单中再添加一个隐藏字段,

<input type="hidden" id="hidden_array" name="hiddenArray" >

因此,您可以像这样在jsp / servlet中获取数组值,

request.getParameterValues("hiddenArray");

PS:您可以使用 字符串数组 String[]来处理数据。

2020-06-10