<html>
<body>
<form action="javascript.jsp">
<script type="text/javascript">
var i = 11;
var j = 12;
<input type="hidden" name="test[0]" value=i />
<input type="hidden" name="test[1]" value=j />
</script>
<input type="image" src="submit.jpg" />
</form>
</body>
</html>
我想从JavaScript变量中获取值
并在数组中指定值,例如<input type="hidden" name="test[0]" value=i />
然后,在服务器端,
<%! String[] getValue; %>
<%
getValue = request.getParameterValues("test");
if (getValue != null)
{
for (int i = 0; i < getValue.length; i++)
{
out.println ("<b>"+getValue[i]+"<b>");
}
}
%>
但似乎行不通。
那么,是否可以将javascript值分配给html并使用Jsp来获取值?
或者如何修改代码?
答案 0 :(得分:1)
在javascript中使用getElementById
方法按ID查找元素。并设置其value属性。还要确保在加载页面后执行代码。
<html>
<body>
<form action="javascript.jsp">
<input type="hidden" id="test0" />
<input type="hidden" id="test1" />
<script type="text/javascript">
var i = 11;
var j = 12;
window.onload = function()
{
document.getElementById("test0").value = i;
document.getElementById("test1").value = j;
};
</script>
<input type="image" src="submit.jpg" />
</form>
</body>
</html>
答案 1 :(得分:0)
在您的html页面上:
<form action="javascript.jsp">
<input type="hidden" name="test0" id="test0" />
<input type="hidden" name="test1" id="test1" />
<input type="image" src="submit.jpg" />
</form>
进一步的地方:
<script type="text/javascript">
var i = 11;
var j = 12;
document.getElementById("test0").value=i;
document.getElementById("test1").value=j;
</script>
您的javascript.jsp可以读取此参数:
<%
out.println(request.getParameter("test0"));
out.println(request.getParameter("test1"));
%>
答案 2 :(得分:0)
您是一名PHP开发人员。在PHP中,参数语法name[]
自动转换为PHP数组。这在HTTP和JSP / Servlet(以及许多其他语言/ API)中不是标准的,没有这个“功能”。
您有两个选择:
请给他们所有相同的名字。
<input type="hidden" name="test" value="one" />
<input type="hidden" name="test" value="two" />
<input type="hidden" name="test" value="three" />
这样你就可以按常规方式使用getParameterValues()
(排序与HTML DOM树中显示的元素相同,这是根据HTTP和HTML规范)
String[] tests = request.getParameterValues("test");
使用文字名getParameter()
,test[0]
等test[1]
访问它们。
List<String> tests = new ArrayList<String>();
for (int i = 0; i < Integer.MAX_VALUE; i++) {
String test = request.getParameter("test[" + i + "]");
if (test != null) {
tests.add(test);
} else {
break;
}
}