如何将javascript变量分配给隐藏的输入?

时间:2016-02-25 13:47:11

标签: javascript java html servlets

我想将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的隐藏输入字段。我希望你们能帮助我解决我的困境。谢谢!

1 个答案:

答案 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>