Solved

CFinput, use the onclick method to do a cfset of a CF variable

Posted on 2004-03-25
11
1,231 Views
Last Modified: 2013-12-24

I have this cfinput statement in a table so that I get as many rows as there are records in my query result.

<cfinput type="radio" name="SelectedDepartment" value= "#CountDepartmentStatus.DepartmentCode#" >

I would like to add the onclick option to it and  have the javascript routine do the following cfset.

<cfset client.DepartmentCode=CountDepartmentStatus.DepartmentCode>

Is there a way to execute a cfset from the onclick method of a cfinput?

Thanks,
WS
0
Comment
Question by:Waterstone
  • 5
  • 4
  • 2
11 Comments
 
LVL 17

Expert Comment

by:Tacobell777
ID: 10683739
You can only call CF via JavaScript if you would call another document.

What is it exactly that you want to do?

Do you want to pass the selected option back to CF?

<form method="post" action="somefile.cfm">
<cfinput type="radio" name="SelectedDepartment" value= "#CountDepartmentStatus.DepartmentCode#" >
<input type="submit" value="submit">
</form>

Then in somefile.cfm you will have

<cfset client.DepartmentCode=form.SelectedDepartment>
0
 

Author Comment

by:Waterstone
ID: 10683881


I was hoping to set the cf variable without leaving the document.
0
 
LVL 5

Expert Comment

by:Seth_Bienek
ID: 10684490
Hi WS,

What are you wanting to do once the value is set?  Go to the results page?  Let the user make other selections, then hit a button for the results?

Tell us what you are wanting to accomplish and we can explain the best approach.

Take Care,

Seth
0
Enterprise Mobility and BYOD For Dummies

Like “For Dummies” books, you can read this in whatever order you choose and learn about mobility and BYOD; and how to put a competitive mobile infrastructure in place. Developed for SMBs and large enterprises alike, you will find helpful use cases, planning, and implementation.

 
LVL 17

Expert Comment

by:Tacobell777
ID: 10685005
You can only do that if you use hidden frames or Iframes....
0
 

Author Comment

by:Waterstone
ID: 10686058


Good Morning,

I'd like to set the value and reset the value as desired, then allow the user to select from the navbar menu to go to a number of different pages.

The navbar contains graphics as menu items that are consistent with the rest of the site. Forms restrict me to a standard button look that violates the design of the site.

Never used hidden frames or I frames.

WS
0
 
LVL 5

Accepted Solution

by:
Seth_Bienek earned 500 total points
ID: 10687905
WS,

I think that what you are trying to do is set a client (server-side) variable using javascript (clientside).

The two easiest approaches to doing this are to either use javascript to forward the user to the next page with a URL param, where the value can be saved as a client variable:
<cfinput type="radio" name="SelectedDepartment" value= "#CountDepartmentStatus.DepartmentCode#" onclick="location.replace('#cgi.script_name#?DepartmentCode=#CountDepartmentStatus.DepartmentCode#');">
As a side note - this onclick event can be used with many different element types, not just form elements.  You can use it in a hyperlink, image, etc.

The other easy approach would be to set a cookie using javascript - then you can access the cookie from later pages using <cfcookie>, or use <cfcookie> to read the value in and save it as a client variable. Just remember that cookie values are stored as text files on the client machine, so you wouldn
t want to use this approach for saving sensitive information.

<cfinput type="radio" name="SelectedDepartment" value= "#CountDepartmentStatus.DepartmentCode#" onclick="SetCookie('DepartmentCode', '#CountDepartmentStatus.DepartmentCode#', 1);">
You'll have to add the SetCookie function do your document within the <head> tags for this approach:
http://www.javascripter.net/faq/settinga.htm

I hope this will give you some ideas for coming up with a solution.  Let us know if we are still not understanding the problem correctly.

Regards,

Seth
0
 

Author Comment

by:Waterstone
ID: 10689963


Seth,

It looks like cookies will be the best solution for this problem.  Do you know of any examples of using cfcookie to read a cookie?

Thanks,
Stece
0
 
LVL 17

Expert Comment

by:Tacobell777
ID: 10691223
Cookies are not the best solution, for variables that you want to store CLIENT. is the best storage, as it is on your side. The cookie should only store cfid and cftoken which reveals nothing important.

But good luck anyway.
0
 

Author Comment

by:Waterstone
ID: 10691412
I agree that cookies are not ideal, but they allow me to pass a simple variable to the next form no matter what that form is.  It's a solution for a small percentage of the users and the value get's passed to a Client variable as soon as that next form loads.  If there was a way to do a cfset from a radio button it would be ideal, but I'll have to settle for less-than-ideal but functional, unless you know of a better way.

Thanks again for you input.

WS
0
 
LVL 17

Expert Comment

by:Tacobell777
ID: 10691562
The way you are setting a cookie will be the same as I suggested to set a client variable.
You should use client variables for settings you like to store for a long period of time ( but not permenant) you should use session variables for variables that exists only throughout the users session.
0
 

Author Comment

by:Waterstone
ID: 10692155


Well, it doesn't seem to be the same to me because setting the client variable seems to require that I use the form's submit button to call the other form.  Is this accurate or am I missing something?
0

Featured Post

Live: Real-Time Solutions, Start Here

Receive instant 1:1 support from technology experts, using our real-time conversation and whiteboard interface. Your first 5 minutes are always free.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
WSUS Client Issues 52 1,635
.htaccess rewrite url with querystring problem 13 94
Website URL redirection 10 68
How to install a renewed SSL certificate on Windows 2012 server 7 71
Article by: kevp75
Hey folks, 'bout time for me to come around with a little tip. Thanks to IIS 7.5 Extensions and Microsoft (well... really Windows 8, and IIS 8 I guess...), we can now prime our Application Pools, when IIS starts. Now, though it would be nice t…
If you don't have the right permissions set for your WordPress location in IIS, you won't be able to perform automatic updates. Here's how to fix the problem.
This Micro Tutorial hows how you can integrate  Mac OSX to a Windows Active Directory Domain. Apple has made it easy to allow users to bind their macs to a windows domain with relative ease. The following video show how to bind OSX Mavericks to …
This video shows how to use Hyena, from SystemTools Software, to bulk import 100 user accounts from an external text file. View in 1080p for best video quality.

786 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question