请求getParameter for Text返回null

时间:2012-03-02 22:35:07

标签: java servlets

我是Java servlets的新手。我正在使用servlet创建一个html页面。在不同的字段中,我有一个文本框字段,我在其中显示已用时间。代码就在这里:

<input type="text" size="15" disabled="disabled" hidden="true" name="finalduration">

我有一个Javascript文件,计算并输入“finalduration”文本框的值,并在按下提交按钮后使其隐藏=“false”。

然而,回到servlet,我正在尝试处理javascript输入的值,我得到一个“null”。 servlet上的代码,我用来获取值是:

durationBar = (String)request.getParameter("finalduration");

这个想法是,javascript计算经过的时间,在“finalduration”框中输入经过的时间(或持续时间),我的servlet应该处理该值并进入数据库。我能够从这个页面中读取其他值(在组合框,下拉列表等中),这是我唯一无法获得的值。

任何想法如何处理?

修改 我删除了“禁用”,现在可以使用了。

我想在这里实现的想法是计时器栏。人来到我的网站,点击“开始时间”,计时器启动并显示在屏幕上。在计时器运行期间,隐藏“finalduration”。一旦用户点击“停止计时器”,持续时间将使用javascript计算,最终持续时间将显示在带有“finalduration”文本字段的页面上。这就是为什么我想以这样的方式实现用户无法编辑最终结果的原因,因为它会破坏计算持续时间的目的。

有关如何实施该建议的任何想法,将不胜感激。

1 个答案:

答案 0 :(得分:1)

用户代理according to the HTML specification不提交已禁用的表单字段。只需删除disabled属性(无论如何对隐藏字段没有多大意义),它应该可以正常工作。

更新:正如所指出的那样,您没有正确隐藏字段。正确的标记是:

<input type="hidden" name="finalduration">

但是,正如我已经说过的,用户仍然可以修改该值并提交他们想要的任何值。 使用隐藏字段(或任何其他表单字段)来存储您不希望恶意用户修改的值。

相关问题