There's a couple of ways. Using CFPARAM is one.

<cfparam name="Form.checkboxone" default="false">

Then, checked or unchecked, your action page will have a Form.checkboxone to
work with.

Another is to put logic inside your CFQUERY:

<cfquery name="whatever" datasource="#DSN#">
INSERT INTO MYTABLE
        (
                NAME,
                EMAIL,
                SPAMISOKAY
        )
VALUES
        (
                '#FORM.NAME#',
                '#FORM.EMAIL#',
                <cfif IsDefined("Form.checkboxone")>
                        'Yes'
                <cfelse>
                        'No'
                </cfif>
        )
</cfquery>


If you want to insert a NULL if the checkbox isn't checked, you can use the
NULL attribute in CFQUERYPARAM. If NULL="Yes" then the information in VALUE=
is ignored.

<cfquery name="whatever" datasource="#DSN#">
INSERT INTO MYTABLE
        (
                NAME,
                EMAIL,
                SPAMISOKAY
        )
VALUES
        (
                <cfqueryparam cfsqltype="CF_SQL_VARCHAR"
value="#FORM.NAME#">,
                <cfqueryparam cfsqltype="CF_SQL_VARCHAR"
value="#FORM.EMAIL#">,
                <cfqueryparam cfsqltype="CF_SQL_VARCHAR"
value="#Form.checkboxone#" null="#YesNoFormat(NOT
IsDefined('Form.checkboxone'))#">
        )
</cfquery>



> -----Original Message-----
> From: Rick Faircloth [mailto:[EMAIL PROTECTED]]
> Sent: Friday, December 27, 2002 12:06 PM
> To: CF-Talk
> Subject: Best way to handle Checkboxes with Insert Query?
> 
> 
> Hi, all.
> 
> So I've abandoned CFINSERT in favor of CFQUERY Insert Into...
> And am now using <cfqueryparam> to handle the values of the 
> formfields...
> The problem is now checkboxes...
> 
> When using CFINSERT, it didn't matter that a Checkbox was 
> unchecked and
> therefore the formfield didn't exist.  With the CFQUERY 
> Insert approach,
> if a checkbox formfield is unchecked, the formfield is unrecognized.
> If I use #ParameterExists(Form.Checkfield)# to check for the 
> formfield's
> existence,
> and it doesn't exist, and the <cfqueryparam> line which 
> establishes that
> value
> for the Insert doesn't get processed, the number of 
> formfields vs values
> doesn't match.
> 
> I've read on this list that it's recommended to use 
> #IsDefined()# in place
> of #ParameterExists()#,
> but doesn't IsDefined assume the existence of the variable, 
> and therefore
> doesn't check
> for the existence as does ParameterExists?  CFPARAM? And why has
> ParameterExists become deprecated
> as a function anyway?
> 
> So...with that in mind, what's the best way to handle an 
> Insert Query where
> checkboxes
> may or may not be checked on a form?
> 
> Thanks,
> 
> Rick
> 
> 
> 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4
Subscription: 
http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribe&forumid=4
FAQ: http://www.thenetprofits.co.uk/coldfusion/faq
Structure your ColdFusion code with Fusebox. Get the official book at 
http://www.fusionauthority.com/bkinfo.cfm

Reply via email to