我的复选框传递值甚至未选中 - Grails
my checkbox pass value even unchecked - Grails
我的 Grails form
上有很多 checkbox
元素,其中一个是:
<g:checkBox id="consolidate" name="consolidate" value="${true}" checked="${false}" />
然后在接收 controller
时,我使用 code
:
验证 checkbox
的值
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") + "=";
}
}
}
});
如果选中,您会在 上看到;否则你会看到 null,这是你的 false.
我的 Grails form
上有很多 checkbox
元素,其中一个是:
<g:checkBox id="consolidate" name="consolidate" value="${true}" checked="${false}" />
然后在接收 controller
时,我使用 code
:
checkbox
的值
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") + "=";
}
}
}
});
如果选中,您会在 上看到;否则你会看到 null,这是你的 false.