0

在我的 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 中我将按钮值设为空。 任何人都可以建议我解决方法吗?

4

1 回答 1

1

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

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

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

于 2013-02-11T12:05:02.570 回答