我是Java servlet的新手。我正在使用servlet创建一个html页面。在不同的字段中,我有一个文本框字段,用于显示经过的时间。的代码在这里:
<input type="text" size="15" disabled="disabled" hidden="true" name="finalduration">
我有一个Javascript文件,一旦按下提交按钮,该文件便会计算并输入“ finalduration”文本框的值,并将其设为hidden =“ false”。
但是,回到servlet中,我试图处理由javascript输入的值,但得到的是“ null”。我用来获取值的servlet上的代码是:
durationBar = (String)request.getParameter("finalduration");
这个想法是,javascript计算经过的时间,在“ finalduration”框中输入经过的时间(或持续时间),然后我的servlet应该处理该值并输入数据库。我能够从此页面读取其他值(在组合框,下拉列表等中),而这是我无法获得的唯一值。
有什么想法如何处理吗?
编辑
我删除了“禁用”,现在可以使用了。
我在这里尝试实现的想法是一个计时器栏。有人来到我的网站,点击“开始时间”,计时器开始计时并显示在屏幕上。在计时器运行期间,“ finalduration”被隐藏。该人员单击“停止计时器”后,将使用javascript计算持续时间,并在页面上使用“ finalduration”文本字段显示最终持续时间。这就是为什么我要以用户无法编辑finalduration的方式实施的原因,因为这可能会无法计算持续时间。
任何有关如何实现这一想法,将不胜感激。
最佳答案
禁用的表单字段不是由用户代理according to the HTML specification提交的。只需删除disabled
属性(无论如何对于隐藏字段都没有多大意义),它应该可以工作。
更新:如前所述,您没有正确隐藏字段。正确的标记是:
<input type="hidden" name="finalduration">
但是,正如我已经说过的,用户仍然可以潜在地修改值并提交所需的任何值。不要使用隐藏字段(或任何其他表单字段)来存储您不希望恶意用户修改的值。