我想将javascript变量存储到隐藏的输入字段,因为我想从servlet中获取它。这是我目前的代码:
HTML:
<form action="myServlet">
<input type="hidden" id="id" value="" name="total">
<input type="submit" value="Go!"/>
</form>
使用Javascript:
var a = 2;
document.getElementById('id').value=a;
myServlet(java servlet):
int count = Integer.parseInt(request.getParameter("total"));
ServletContext context= getServletContext();
request.setAttribute("count", count);
RequestDispatcher rd= context.getRequestDispatcher("/newjsp1.jsp");
rd.forward(request, response);
每当我点击提交按钮时,它都会给出错误NumberFormatException
,因为javascript变量未分配给我试图使用servlet的隐藏输入字段。我希望你们能帮助我解决我的困境。谢谢!
答案 0 :(得分:1)
您必须在呈现Input Hidden元素之后添加javascript,即代码排列的顺序很重要,因为您已经添加了javascript以在浏览器中呈现时执行。确保没有其他元素具有相同的id值“id”。
我更喜欢使用函数在表单提交上执行如下。
<form action="myServlet" onSubmit="setVal();">
<input type="hidden" id="id" value="" name="total">
<input type="submit" value="Go!"/>
</form>
<script>
function setVal(){
var a = 2;
document.getElementById('id').value=a;
}
</script>