request.getParameter在chrome中返回null值

时间:2013-01-09 07:44:07

标签: java javascript jsp google-chrome struts

在我的jsp页面中,我有两个提交按钮。代码段是:

<input type="submit" name="btnSubmit" id="btnSubmit" value="abc" onclick="return formCheck3(this)"/>
<input type="submit" name="btnSubmit" id="btnSubmit" value="xyz" onclick="return formCheck3(this)"/>

在formCheck3中,在javascript中,我正在验证是否选择了下拉列表然后提交表单。在我的方法操作类中,我有:

String button=request.getParameter("btnSubmit");
if(button.equals("abc")){
//certain code here
}else if(button.equals("xyz")){
//certain code here
}

这在IE和Mozilla中工作正常,但在chrome中我将按钮值设为null。 有谁能建议我一路走来?

1 个答案:

答案 0 :(得分:1)

  

我正在从我的javascript中执行form.submit()并在此之后返回true

这是不对的。返回true会继续调用元素的默认操作,这是<input type="submit">提交父<form>元素的情况,这是正确的,但如果您已事先提交表单,那么您就是实质上完全覆盖了元素的默认操作。

删除JS中的form.submit()调用。让<input type="submit">执行默认作业。这样,它的参数名称/值也将出现在请求参数映射中。在您的JS中,您应该只返回truefalse

来控制提交