【问题标题】:request.getParameter returning null values in chromerequest.getParameter 在 chrome 中返回空值
【发布时间】:2013-01-09 07:44:07
【问题描述】:

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

<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。 任何人都可以给我建议吗?

【问题讨论】:

  • 在我的jsp中我正在做的是: 在我的操作类中,我只是在做这样的事情: if (request.getParameter("update") != null) { } else if (request.getParameter("delete") != null) { } this request .getParameter 在其他浏览器中工作时在 chrome 中给出 null 值。
  • 您的formCheck3() 可疑。你是在执行form.submit()therin 而不是返回true/false 还是什么?
  • 我的javascript代码:function formCheck3(formobj) { var e = document.getElementById("fiscalYear"); var strUser = e.options[e.selectedIndex].value; //如果需要比较文本,则使用 var strUser1 = e.options[e.selectedIndex].text; if(strUser==0) //文本使用 if(strUser1=="Select") { alert("请选择年份");返回假; }else{ window.document.forms[2].action = '${urlHlPrincipalReport1}'; window.document.forms[2].submit(); } 返回真; }
  • @BalusC:我正在从我的 javascript 中执行 form.submit() 并在此之后返回 true

标签: java javascript jsp google-chrome struts


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-02
    • 2021-12-10
    • 2020-09-28
    • 2012-01-15
    • 1970-01-01
    • 1970-01-01
    • 2021-01-27
    相关资源
    最近更新 更多