Link to home
Start Free TrialLog in
Avatar of Panos
PanosFlag for Germany

asked on

<cvdiv bind="url........." and <cfinput type checkbox problem

Hello experts
I use this code:
<cfparam name="Url.S_Leasing" default="">
<cfdiv bind="url:../resultscheck.cfm?S_Leasing={S_Leasing}" ID="theDiv" style="height:20px; width:80px;"/>
<cfform>
<cfif  url.S_Leasing EQ 1 > 
    <cfset checkleasing = 'yes'>
    <cfelse>
     <cfset checkleasing = 'no'>
     </cfif>
    <cfinput name="S_Leasing" id="S_Leasing" type="checkbox"   checked="#checkleasing#" value="1" />
</cfform>
and using the cfdebug i see that when the checkbox is not checked value 1 is passed to the url:
Coldfusion Ajax Logger:
info:http: Replaced markup for element: theDiv

info:http: HTTP GET ../resultscheck.cfm?S_Leasing=1&_cf_containerId=theDiv&_cf_nodebug=true&_cf_nocache=true&_cf_clientid=8E407863AA052BD8A1E25ADF06B0023F&_cf_rc=0

info:http: Replacing markup for element: theDiv from URL ../resultscheck.cfm?S_Leasing=1 with params _cf_containerId=theDiv

info:LogReader: LogReader initialized

info:global: Logger initialized
Any help?
Avatar of azadisaryev
azadisaryev
Flag of Hong Kong image

by default, allbindings are bound to the VALUE attribute of the element. since the value of VALUE attribute of your checkbox is 1, that's what the binding returns, disregarding if the checkbox is checked or not.

try this:
<cfdiv bind="url:../resultscheck.cfm?S_Leasing={S_Leasing.selected}" ID="theDiv" style="height:20px; width:80px;"/>

mind you, that will likely request the url with S_Leasing=true or S_Leasing=false url parameter - so make sure your resultscheck.cfm can react properly to true/false as url.S_Leasing value...

Azadi
Avatar of Panos

ASKER

Hi azadi
Here  is a part of my resultcheck.cfm page.
Can you help me?
<cfquery name="WADAdboartikel" datasource="#request.dsn#">
SELECT  *
FROM artikel
WHERE (0=0
<cfif isdefined("Url.S_Leasing") >
<cfif Url.S_Leasing NEQ "">     
  AND  Leasing = <cfqueryparam value="#URL.S_Leasing#"  cfsqltype="cf_sql_tinyint">
       </cfif>
       </cfif>
   )
</cfquery>
 
<cfoutput>#WADAdboartikel.RecordCount#</cfoutput>
Avatar of Panos

ASKER

Something else.
Is there another way to get the recortcount witout submutting the form?
oops... the checkbox's attribute to be used in the binding should be .checked, not .selected...

here's the full working code:

<!--- form page --->
<cfparam name="Url.S_Leasing" default="0"><!--- default it to 0 instead of empty string --->
<cfdiv bind="url:../resultscheck.cfm?S_Leasing={S_Leasing.checked}" ID="theDiv" style="height:20px; width:80px;"/>
<cfform>
    <cfinput name="S_Leasing" id="S_Leasing" type="checkbox" checked="#yesnoformat(URL.S_Leasing)#" value="1" />
</cfform>

<!--- resutscheck.cfm --->
<cfparam name="url.S_Leasing" default="0"><!--- cfparam this on this page, too! --->
<cfquery name="WADAdboartikel" datasource="#request.dsn#">
SELECT  COUNT(*) AS ttlcount
FROM artikel
WHERE Leasing = <cfqueryparam value="#val(URL.S_Leasing)#"  cfsqltype="cf_sql_tinyint">
</cfquery>
<cfoutput>#WADAdboartikel.ttlcount#</cfoutput>

Azadi
as for getting the recordcount without submitting the form:
yes, there are multiple ways to do it, and i think you know all of them. at least you used most of these ways in the other things you are doing and posting questions about :)

js proxy to a cfc and binding directly to a cfc which returns the recordcount are 2 of these ways.

if i am misunderstanding what you mean by 'another way to get the recortcount witout submutting the form' - please clarify.

Azadi
Avatar of Panos

ASKER

Hi azadi.
I'm asking if there is another way because i don't know which of these function is  faster.
Now for the solution you posted:
As is see it is passing true and false in url.
In database the values are 0 and 1.
How can i handle this in the resultcheck page.
Avatar of Panos

ASKER

Is this OK?
<cfparam name="url.S_Leasing" default="0">
<cfif Url.S_Leasing  EQ true>
  <cfset S_Leasing = 1 >
  <cfelse>
  <cfset S_Leasing = 0 >
  </cfif>

......
<cfif S_Leasing EQ 1 >     
  AND  Leasing = <cfqueryparam value="1"  cfsqltype="cf_sql_tinyint">
       </cfif>

In resultcheckpage
Avatar of Panos

ASKER

Notice that if the value is 0 in database i want all the results (0 and 1)
ASKER CERTIFIED SOLUTION
Avatar of azadisaryev
azadisaryev
Flag of Hong Kong image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of Panos

ASKER

Ok azadi it is working now
Avatar of Panos

ASKER

I will come back with a question about binding values from a checkboxgroup
Avatar of Panos

ASKER

Thank you very much for your help
regards
Panos