Флажок Cfinput установлен - PullRequest
       31

Флажок Cfinput установлен

0 голосов
/ 03 февраля 2011

Я не могу заставить это работать.

В моей форме есть несколько входов, включая один флажок.В моем 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 ]

1 голос
/ 04 февраля 2011
<cfif StructKeyExists(form, "search_NR")>
    AND (tblMain.NR = true)
</cfif>
0 голосов
/ 22 января 2014

Это правильно отобразит текущий статус и позволит пользователю изменить его, если использовать оба параметра <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>
0 голосов
/ 03 февраля 2011

Я сам нашел решение ...

В форме:

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

А на странице обработки ...

До запроса:

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

А в запросе ...

    <cfif #search_NR# EQ "on" >
            AND (tblMain.NR = true)
        </cfif>
0 голосов
/ 03 февраля 2011

Попробуйте использовать method="POST":

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

В противном случае ваши переменные передаются через область действия URL.

...