我的Grails checkbox
上有很多form
元素,其中一个就是:
<g:checkBox id="consolidate" name="consolidate" value="${true}" checked="${false}" />
然后在接收controller
上,我使用此checkbox
验证code
的值:
println params?.consolidate
它显示:
on
无论我是否勾选我的复选框。在其他语言中,如果未勾选复选框,则控制器上的值将为null
或undefined
。取消选中它的值是什么,以及在grails控制器上访问其值的正确代码是什么?
临时解决方案:
以下代码(在JavaScript
上)是我暂时用来满足我的要求的。虽然我想要的是对这种行为的解释或纠正。
var serialized_string = "";
$("#form input").each(function(i, j) {
var o = $(j);
if(o.val() !== undefined && o.val() !== "undefined" && o.val() !== "") {
if(serialized_string === "") {
serialized_string += o.attr("name") + "=";
}
else {
if(o.attr("name") === "consolidate") {
var val = "false";
if(o.prop("checked")) {
val = "true";
}
data += val;
}
else {
data += "&" + o.attr("name") + "=";
}
}
}
});
答案 0 :(得分:1)
如果选中,则会看到您看到的 ;否则你会看到 null ,这是你的 false 。