我的复选框传递值甚至未经检查 - Grails

时间:2015-05-21 03:48:09

标签: grails checkbox gsp

我的Grails checkbox上有很多form元素,其中一个就是:

<g:checkBox id="consolidate" name="consolidate" value="${true}" checked="${false}" />

然后在接收controller上,我使用此checkbox验证code的值:

println params?.consolidate

它显示:

on

无论我是否勾选我的复选框。在其他语言中,如果未勾选复选框,则控制器上的值将为nullundefined。取消选中它的值是什么,以及在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") + "=";
            }
        }
    }
});

1 个答案:

答案 0 :(得分:1)

如果选中,则会看到您看到的 ;否则你会看到 null ,这是你的 false