我如何处理由JS从复选框得到的值,然后在Java操作中使用它?



我在JSP中有一个这样的复选框

<input type="checkbox" id="checkBox" name="checkBox"/>

在JS文件中,我写了一个函数来设置一个变量的数据,当复选框被点击

$("checkBox").change(function(){
var checkBox= 0;
if(this.checked) {
checkBox= 1;
} else {
checkBox= 0;
}
})

然后在Java动作类中我想在复选框被点击时做点什么

if(bean.getCheckBox == 1) {//do something}

但是它不起作用。请帮我解决这个问题!由于

var checkBox是一个客户端JavaScript局部变量,它的值只会在change事件监听器中可见;你的操作类(我假设)是一个服务器端组件,它将无法访问这个值。

你的动作类应该检查checkBox请求参数的值,它来自value属性。

<input type="checkbox" id="checkBox" name="checkBox" value="1" />

然后在你的action类中你会有这样的内容:

if ("1".equals(request.getParameter("checkBox"))) {
...
}

或者,您也可以简单地执行null检查,而不检查任何特定的值。

if (request.getParameter("checkBox") != null) {
...
}

如果您正在使用一些框架bean,您将使用如下所示的内容,这取决于bean的checkBox变量的数据类型:

if ("1".equals(bean.getCheckBox())) { // String
...
}
// or
if (bean.getCheckBox() != null) { // String or Integer
...
}
// or
if (bean.getCheckBox() == 1) { // int primitive
...
}

要检查的值仍然来自上面的value属性。

最新更新