在JSP表单中传递javascript变量

时间:2014-09-09 14:40:01

标签: java javascript jsp servlets ejb

我想将客户端计算的值传递回服务器。这是我的代码:

    <script>
        var today = new Date();
        function startTime() {
            document.getElementById('time').innerHTML = today.getTime();
            t = setTimeout(function () {
                startTime()
            }, 1);
        }
        startTime();
    </script>

    <form method="POST" action="../frontier/warehouseops/servlet/TimeCalculator">
        <input type="hidden" name="time" value="time"/>  
        <input type="submit" value="Submit" name="buttonSubmit"/>  
    </form>

我想要发生的是javascript变量的值&#34; time&#34;传递给服务器。但正在发生的事情只是字符串&#34; time&#34;正被传递到服务器。如何访问javascript变量的值并以表格形式将其传回服务器?

2 个答案:

答案 0 :(得分:1)

而不是:

document.getElementById('time').innerHTML = today.getTime();

试试这个:

document.getElementsByName("time")[0].value = today.getTime();

答案 1 :(得分:0)

<input type="hidden" name="time" value="time"/>  

此行仅传递字符串“time”,因为此hiddle表单字段的value属性将“time”作为字符串。你真正需要做的是在onSubmit of form上编写一个javascript函数,然后将这个参数的值设置为你想要的任何值。

<script>
function submit(form)
{
form.time.value = new Date();
document.getElementById("myForm").submit();
}
</script>
  <form id="myForm" method="POST" action="../frontier/warehouseops/servlet/TimeCalculator">
        <input type="hidden" name="time" value="time"/>  
        <input type="submit" value="Submit" name="buttonSubmit" onClick="submit(this.form)"/>  
    </form>

希望这有帮助