我正在构建一个联系表单,并且有一个如下所示的复选框:
<input type="Checkbox" name="infomaterial" value="test">send info material<br>
我正在使用request.getParameter,如下所示:
request.getParameter("infomaterial")
这适用于文本框和文本字段,但它不适用于复选框。
我总是得到null,无论它是否被检查(我希望它在未检查时为空?)..复选框也在正确的位置。有人能告诉我我做错了吗?
答案 0 :(得分: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;
}
}
答案 1 :(得分:0)
使用getParameterValues
获取所选复选框的数组:
的Servlet
String[] infomaterials= request.getParameterValues("infomaterial");
for (String infomaterial:infomaterials) {
System.out.println(infomaterial);
}
另请注意,您只会获取所选复选框的值。如果未选中复选框,则getParameterValues
中将无法使用该值。
答案 2 :(得分:0)
感谢您的回答。 我发现了这个问题。我的程序中有一个“owasp SecurityWrapper”。不知何故,这会阻止除文本字段和文本框之外的所有内容。如果我将其关闭,它会像预期的那样工作。仍然必须找出它阻止那些复选框的原因..
答案 3 :(得分:0)
这是一篇旧帖子,但请尝试
boolean infomaterialIsChecked= Boolean.parseBoolean( request.getParameter("infomaterial") );
或
boolean infomaterialIsChecked= request.getParameter("infomaterial") != null;
第二种选择更好。它对我有用