• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 505
  • Last Modified:

Show/Hide Div AND pass value of the select box to a query...

In short I want to pass the value of what is selected from this select box

<cfform name="myform" method="post" action="dsp_userAdmin.cfm"> 
<select name="SelectedUserID" onChange="submit();">
    <option value="">Please Select</option>
    <cfloop query="session.qry_getUsers">
    <option value="#id#" <cfif selectedUserID eq id>selected</cfif>>#displayName#</option>
    </cfloop>
</select>
</cfform>  
 

Open in new window


to a div that only appears when something is selected. So I need to change the style to not hidden and I need to use that variable #selectedUserID# in a cfif statement and then query.

<cfdiv id="thisDiv" style="hidden><cfif selectedUserID neq '''><cfinclude template=""></cfif></cfdiv>

Open in new window


I've tried various things with cflayout and it just keeps giving me issues (HOW DO YOU USE CFDEBUG!? <- that's another rant!). Anyway, any and all help would be appreciated. I don't want to refresh this page.... it's got too much other info on it.

Where I can
partial code of form 

<cfform name="myform" method="post" action="dsp_userAdmin.cfm"> 
<select name="SelectedUserID" onChange="submit();">
    <option value="">Please Select</option>
    <cfloop query="session.qry_getUsers">
    <option value="#id#" <cfif selectedUserID eq id>selected</cfif>>#displayName#</option>
    </cfloop>
</select>
</cfform>  
  
<cfdiv id="thisDiv" style="hidden><cfif selectedUserID neq '''><cfinclude template=""></cfif></cfdiv>

Open in new window

0
traport
Asked:
traport
  • 5
  • 3
1 Solution
 
HainKurtSr. System AnalystCommented:
implement this
<script>
function showID(v){
var d = document.getElementById("thisDiv");
d.style.display = (v != "") ? "" : "none";
d.innerHTML = v;
}
</script>

<select name="SelectedUserID" onChange="showID(this.value)">
    <option value="">Please Select</option>
    <option value="HK">Hain</option>
    <option value="HainKurt">Kurt</option>
</select>

<div id="thisDiv" style="display:none"></div>

Open in new window

0
 
traportAuthor Commented:
Thanks HainKurt.

This works... except how can I do anything with the variable #selectedUserID#. It displays in the div, but I want to use it in a query...

select * from table where id = #selectedUserID#

I need it as a variable if that makes sense.
0
 
HainKurtSr. System AnalystCommented:
if you post the form, you will get the selected user with request object

and you get it from cf like this I guess

context.Request.Form["selectedUserID"]
0
Get expert help—faster!

Need expert help—fast? Use the Help Bell for personalized assistance getting answers to your important questions.

 
traportAuthor Commented:
I just don't know how to put to use what you're suggesting. I'm pretty remedial! :) Thanks for trying.
0
 
HainKurtSr. System AnalystCommented:
post the code where your query is

select * from table where id = #selectedUserID#

you need to modify it like

select * from table where id = context.Request.Form["selectedUserID"]
0
 
traportAuthor Commented:
Thank you; I'll give it a shot as soon as I get back in the office!
0
 
traportAuthor Commented:
I keep getting errors that "context" is undefined.  Here's what I tried to do with your suggestion:


cfparam name="userID" default="">
<script>
function showID(v){
var d = document.getElementById("thisDiv");
d.style.display = (v != "") ? "" : "none";
d.innerHTML = v;
}
</script>
<form>
<select name="SelectedUserID" onChange="showID(this.value);">
    <option value="">Please Select</option>
    <option value="HK">Hain</option>
    <option value="HainKurt">Kurt</option>
</select>
</form>

<div id="thisDiv" style="display:none"><cfset userID eq context.Request.Form["selectedUserID"]><cfoutput>#userID#</cfoutput></div>

Open in new window

0
 
traportAuthor Commented:
I had to go another way entirely with this... I used iframes but I wanted to give you the points for sticking with me. Thanks!


<script>
function showUser() {
	var foodd = document.getElementById("selectedUserID");
	var foovalue = foodd.options[foodd.selectedIndex].value;
	if(!foovalue) return;
	var myframe = document.getElementById("myiframe");
	myframe.src = "dsp_userForm.cfm?selectedUserID="+foovalue;
}
</script>
<cfoutput><br>
<select id="selectedUserID" onChange="showUser()">
   		<option value="">Please Select</option>
            <cfloop query="session.qry_getUsers">
    		<option value="#id#" <cfif selectedUserID eq id>selected</cfif>>#displayName#</option>
  			</cfloop>
</select>
</cfoutput>
<br>

<iframe id="myiframe" src="dsp_userForm.cfm" width="75%" height="100%" marginwidth="0" marginheight="0" frameborder="no" scrolling="yes">

Open in new window

0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Cloud Class® Course: Certified Penetration Testing

This CPTE Certified Penetration Testing Engineer course covers everything you need to know about becoming a Certified Penetration Testing Engineer. Career Path: Professional roles include Ethical Hackers, Security Consultants, System Administrators, and Chief Security Officers.

  • 5
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now