复选框始终在jsp中返回null

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

我正在构建一个联系表单,并有一个如下所示的复选框:

<input type="Checkbox" name="infomaterial" value="test">send info material<br>

我正在使用request.getParameter,如下所示:

request.getParameter("infomaterial")

这适用于文本框和文本字段,但它不适用于复选框。

我总是得到null,无论它是否被检查(我希望它在未检查时为空?)..复选框也在正确的位置。有人能告诉我我做错了什么吗?

html jsp
4个回答
0
投票

使用getParameterValues获取所选复选框的数组:

Servlet的:

String[] infomaterials= request.getParameterValues("infomaterial");
for (String infomaterial:infomaterials) {
   System.out.println(infomaterial); 
}

另请注意,您只能获取所选复选框的值。如果未选中复选框,则getParameterValues中的值不可用。


0
投票

谢谢你的回答。我发现了这个问题。我的程序中有一个“owasp SecurityWrapper”。不知何故,这会阻止除文本字段和文本框之外的所有内容。如果我将其关闭,它会像预期的那样工作。还是要找出它阻止那些Checkboxes的原因..


0
投票
<input type="Checkbox" class="msgChk" name="infomaterial" value="test">send info material<br>

var checked = null;
var input = document.getElementsByClassName('msgChk');

for(var i=0; inputElements[i]; ++i)  {       
    if(inputElements[i].checked)  {              
        checked = inputElements[i].value;
        break;
    }
}

0
投票

这是一个老帖子,但请尝试

boolean infomaterialIsChecked= Boolean.parseBoolean( request.getParameter("infomaterial") );

要么

boolean infomaterialIsChecked= request.getParameter("infomaterial") != null;

第二种选择更好。它对我有用

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