Hello. I’m migrating an application from CF 9.01 to Lucee 5.3.3.62, and having trouble with updating bit values in a database which are coming from checkboxes on a html page.
Have a look to this sample code:
go_cbtest.cfm
<html>
<body>
<cfform name="cbTest" method="post" action="go_cbtest_action.cfm">
<input type="checkbox" name="cbTestVAL">Click me</br>
<input type="submit" value="OK">
</cfform>
<body>
<html>
go_cbtest_action.cfm
<cfif NOT structKeyExists(form, "cbTestVAL")>
<cfset form.cbTestVAL = 0>
</cfif>
<cfoutput>
#form.cbTestVAL#</br>
</cfoutput>
<cfset form.id = 1>
<cfupdate datasource="onecfc" tablename="LuceeTestCB" formfields="id,cbTestVAL">
This code works fine on CF 9.01. Lucee throws this error:
Lucee can’t decode the “on” value of the checkbox to a binary “1”.
There is a workaround though, by adding value = “1” to the input tag:
<input type="checkbox" value="1" name="cbTestVAL">Click me</br>
So, not a real show stopper, but definitely an incompatibility which could be resolved with a limited amount of extra code.
Should I file a bugreport for this?