如何将JavaScript数组发送到表单标记内的Servlet?
我制作了复选框代码,点击复选框,我将调用函数,该函数将把传递的参数添加到JavaScript数组中。 我已经采取了形式标签内的机构和内部的形式标签只有复选框和一个按钮。 在单击按钮时,将调用servlet,所以我需要某种机制,该机制还将使用复选框值向servlet发送Java脚本数组数据 单击复选框时,我并没有传递复选框值,而是传递其他细节,所以需要其他函数在数组中添加数据并将其传递给servlet 复选框代码:如何将JavaScript数组发送到表单标记内的Servlet?,java,javascript,jsp,servlets,checkbox,Java,Javascript,Jsp,Servlets,Checkbox,我制作了复选框代码,点击复选框,我将调用函数,该函数将把传递的参数添加到JavaScript数组中。 我已经采取了形式标签内的机构和内部的形式标签只有复选框和一个按钮。 在单击按钮时,将调用servlet,所以我需要某种机制,该机制还将使用复选框值向servlet发送Java脚本数组数据 单击复选框时,我并没有传递复选框值,而是传递其他细节,所以需要其他函数在数组中添加数据并将其传递给servlet 复选框代码: <input type="checkbox" id="demo_box_2&
<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"> <%= aval %></label>
checkbox的代码在表单标记中,因此我还想将带有checkbox值的acdata[]数组发送到servlet,请提供帮助?这里有一种实现方法
下面是Santosh解释的示例代码 在您的脚本中(编辑的) 在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"> <%= aval %></label>
PS:您可以使用字符串数组
string[]
来处理您的数据。尝试发送JSON.stringify(acdata)
,然后再发送JSON.parse
我必须在servlet中解析它的地方?嗯,我对servlet不太了解,但只要您想访问这些数组值,就可以解析它。如果它不支持JSON.parse
(据我所知,这是很有可能的)使用字符串操作,将“[”和“]”中的字符串作为逗号分隔的值处理,方法如下:$.getJSON(“addtocart?pid=“+pid
这是您的servlet代码吗?请尝试放置acDataArray=JSON.parse(data.acdata)done
方法中的
(其中data.acdata包含字符串化数组字符串)我不完全理解第2步和第3步,我尝试使用Hidden pas,但我不能只传递选中的数据,如果选中或未选中,它会发送所有数据,因此您能告诉我如何在隐藏字段中添加数据并将其传递给servlet吗?我添加了相关的示例链接。我是否必须放入$(“#Hidden_array”).val(acid)
函数内部代码还是外部代码?如果在执行时将其放在外部?如果要使用字符串[],则必须使用request.getParameterValues(“hiddenconfig”);
因为它将接受数组。是的,您需要使用$(“#隐藏数组”).val(acid)
在函数内部。因为您只将选中的复选框值传递给函数。您的实际需要是什么?如果我理解正确,您需要将每个选中的复选框值添加到该数组中?如果是这样,您需要设置$(“#隐藏#数组”).val(acdata);
在函数外部是的,$(“#隐藏#数组”).val(acdata);
非常好用。我用过acid
,当我用acdata
数组时,它就可以用了,先生,谢谢你,季先生。
var acdata = [];
function addcategory(acid)
{
acdata.push(acid);
$("#hidden_array").val(acdata);
}
<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"> <%= aval %></label>
<input type="hidden" id="hidden_array" name="hiddenArray" >
request.getParameterValues("hiddenArray");