选中Cfinput复选框

时间:2011-02-03 16:27:15

标签: checkbox coldfusion cfinput

我无法完成这项工作。

我的表单有许多输入,包括一个复选框。在我的cfquery中,我只想编写一些简单的SQL内容来测试是否选中了复选框。但是我的代码完全忽略了它。这是基础知识:

<cfform name="form" action="...." format="HTML">
     ....
     <cfinput type="checkbox" name="search_NR" id="search_NR" checked="no" />
    <cfinput type="submit" name="submit"  value="Search" />
</cfform>

我的cfquery相当广泛,所以我只是将该部分与此处的复选框相关联:

    <cfif isDefined("form.search_NR")>
        AND (tblMain.NR = true)
    </cfif>

我的想法是,如果未选中该框,则不会定义该框。但无论我是否选中表单上的框,查询都完全忽略了这一点。我只想在选中该框时将tblMain.NR = TRUE添加到SQL内容的其余部分。

4 个答案:

答案 0 :(得分:1)

<cfif StructKeyExists(form, "search_NR")>
    AND (tblMain.NR = true)
</cfif>

答案 1 :(得分:0)

尝试使用method="POST"

<cfform name="form" action="...." format="HTML" method="post">

否则,您的变量将通过URL范围提交。

答案 2 :(得分:0)

如果同时使用<cfForm><cfInput type="Checkbox">,这将正确显示当前状态并允许用户更改:

注意:确保<cfParam>标记位于对表单元素的其他引用之前。

<cfparam name="form.search_NR" default="off">

<cfInput name="search_NR" type="Checkbox" checked="#form.search_NR is 'on'#">Some Text Here

提交<cfform>后,search_NR的值为“开启”或“关闭”,可以在查询中进行检查。请记住将form.添加到元素名称:

<cfIf form.searchNR EQ 'on'>
...
<cfElse>
...
</cfIf>

答案 3 :(得分:-2)

我自己想出了一个解决方案......

表格形式:

<input type="checkbox" name="search_NR" <cfif search_NR is "on"> checked</cfif> />

在处理页面上......

在cfquery之前:

<cfparam name="search_NR" default="off">

在查询中......

    <cfif #search_NR# EQ "on" >
            AND (tblMain.NR = true)
        </cfif>