有一个在我的jsp页面复选框复选框值,如果未选中
<input type="checkbox" name="myCheck" id="myCheck">
我提交表单,并在服务器端,我想用捡回来
request.getParameter("myCheck");
如果我选中了该复选框,它将作为true
来请求,否则它不在请求对象中。
我的要求是,如果我没有检查它,它也应该是假的。 有什么建议吗?
UPDATE
我使用GET方法是的,它是存在于我提交表单。
有一个在我的jsp页面复选框复选框值,如果未选中
<input type="checkbox" name="myCheck" id="myCheck">
我提交表单,并在服务器端,我想用捡回来
request.getParameter("myCheck");
如果我选中了该复选框,它将作为true
来请求,否则它不在请求对象中。
我的要求是,如果我没有检查它,它也应该是假的。 有什么建议吗?
UPDATE
我使用GET方法是的,它是存在于我提交表单。
从accepted answer in stackoverflow
您如何知道如果检查
澄清..
例如:
<input type="hidden" name="checkboxNamesList" value="nameCheckbox1" />
<input type="hidden" name="checkboxNamesList" value="nameCheckbox2" />
<input type="hidden" name="checkboxNamesList" value="nameCheckbox3" />
<input type="hidden" name="checkboxNamesList" value="nameCheckbox4" />
然后,你可以得到复选框来自请求的NamesList(它将是一个String []),因此您将拥有所有复选框参数名称。如果你得到一个复选框名称的参数和值为null,这意味着复选框没有被检查
好吧,因为未检查的复选框不存在于请求中,你不知道JSP中其复选框没有但是你需要知道它,才能在数据文件中写入类似checkbox_name1 = unchecked的东西。
那么,该怎么做?首先,您需要知道请求中存在哪些复选框(取消选中或不选中)。对于这一点,你可以用下面的代码,并得到所有的复选框的名字出现在JSP:
String[] checkboxNamesList= request.getParameterValues("checkboxNamesList");
然后,让寻找选中checboxes:
for (int i = 0; i < checkboxNamesList.length; i++) {
String myCheckBoxValue = request.getParameterValues(checkboxNamesList[i]);
// if null, it means checkbox is not in request, so unchecked
if (myCheckBoxValue == null)
writer.append(checkboxNamesList[i] + "=unchecked");
// if is there, it means checkbox checked
else
writer.append(checkboxNamesList[i] + "=checked");
}
我不明白为什么值不在请求对象中。我认为一个可能的错误是缺失的值属性。
你的第二个问题: 在后端,你必须先定义一个默认值,然后检查空:
public boolean myCheckBox = false;
if (request.getParameter("myCheck") != null) {myCheckBox = true}
纠正你的代码的名称应与该ID我的意思是字母C和小C ;你能否提供更多的表单标签信息(更多代码)以及你提交的方式(按钮提交标签) – shareef
你是否围绕这个复选框包装了一个表单?如果是这样,你使用哪种方法(Post或Get)? – reporter
@shareef同步名称和标识符是不是nessecary。 – reporter