request.getParameter 在 chrome 中返回空值

问题描述 投票:0回答:1

在我的 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。 有人能给我建议吗?

javascript java google-chrome jsp
1个回答
1
投票

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

这是不对的。返回

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

删除 JS 中的

form.submit()
调用。让
<input type="submit">
完成其默认工作。这样它的参数名称/值也会出现在请求参数映射中。在你的 JS 中,你应该通过仅返回
true
false
来控制提交。

© www.soinside.com 2019 - 2024. All rights reserved.