在我的 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 中执行 form.submit() 并在之后返回 true
这是不对的。返回
true
将继续调用元素的默认操作,这是在 <input type="submit">
提交父 <form>
元素的情况下,这是正确的,但如果您已经事先提交了表单,那么您实际上完全覆盖了元素的默认操作默认操作。
删除 JS 中的
form.submit()
调用。让 <input type="submit">
完成其默认工作。这样它的参数名称/值也会出现在请求参数映射中。在你的 JS 中,你应该通过仅返回 true
或 false
来控制提交。