Skip to main content
Inspiring
May 26, 2010
Question

CFFORM bug

  • May 26, 2010
  • 1 reply
  • 495 views

I've picked up something weird (and a little bit irritating) with CFFORM in CF 8 and 9.

If you have two fields named x and x_date where x is any name e.g.

data, data_date or

measurement, measurement_date

and field x is cfinput type=text (but you use a number with a decimal)

and field x_date is cfinput type=datefield

then when this form is submitted, field x will be automatically reformatted as a date.

Sample code: create a page called data.cfm and copy this into it.

Click submit and watch variable [data] magically transform into a date.

There is an obvious workaround (just don't name your fields like this) but it took a while to figure this out.

-----------------------------------------------------------------

<cfparam name="data" default="1.2">
<cfparam name="data_date" default="#now()#">

<html>
<head>
<title>Untitled Document</title>
</head>

<body>
<cfoutput>
<Cfform name="test" action="data.cfm">
<table>
<tr>
    <td>data</td>
    <td><cfinput type="text" name="data" value="#data#"></td>
</tr>
<tr>
    <td>data_date</td>
    <td><cfinput type="datefield" name="data_date" value="#dateformat(data_date,"yyyy/mm/dd")#" mask="dd-mmm-yyyy"></td>
</tr>
</table>
<input type="submit" />
</Cfform>
</cfoutput>

</body>
</html>

    This topic has been closed for replies.

    1 reply

    Participant
    May 26, 2010

    Yep, it's been that way for a long time. This page explains it:

    http://help.adobe.com/en_US/ColdFusion/9.0/Developing/WSc3ff6d0ea77859461172e0811cbec22c24-7a7b.html

    I avoid naming any of my form fields with the suffixes listed on that page.

    Deb