Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

coldfusion Form

Posted on 2006-10-24
3
Medium Priority
?
164 Views
Last Modified: 2013-12-24

 I have read only access to this database(on a different server) that I am pulling data from via DATASOURCE customer..  I get all the custid in the dropdown on the form but it does not populate customername, etc when custid changes.  

I get the output though when I just do <cfoutput> #customerlist.customerID#,#customerlist.customerName#</cfoutput> etc in the code
-----------
however when I do the samething from a local database everything works fine..any ideas?

-------code below

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
<cfset DATASOURCE="Customer">
<CFQUERY name="Customerlist" datasource="#DATASOURCE#">
Select * from CustomerTable
</CFQUERY>

     <title>Untitled</title>
<script language="JavaScript" type="text/javascript">
function listItem(custID, custName, custAge, custLoc, custAdd, custCity, custZip, custCntry){
          this.custID=custID;
          this.custName=custName;
          this.custAge=custAge;
          this.custLoc=custLoc;
          this.custAdd=custAdd;
          this.custCity=custCity;
          this.custZip=custZip;
          this.custCntry=custCntry;
     }


function populateCustInfo(customerID){    
     
for(x=0; x < arrItems.length; x++){
               if(arrItems[x].custID==customerID){
                  document.getElementById('txtCustomerName').value=arrItems[x].custName;
                    document.getElementById('txtCustomerAge').value=arrItems[x].custAge;
                    document.getElementById('txtCustomerLocation').value=arrItems[x].custLoc;
                    document.getElementById('txtCustomerAddress').value=arrItems[x].custAdd;
                    document.getElementById('txtCustomerCity').value=arrItems[x].custCity;
                    document.getElementById('txtCustomerZip').value=arrItems[x].custZip;
                    document.getElementById('txtCustomerCountry').value=arrItems[x].custCntry;
                    }
}
}
var arrItems = new Array();
arrItems[arrItems.length]= new listItem('0','','','','','','','');
<cfoutput query="customerList">
arrItems[arrItems.length]= new listItem
('#customerID#','#customerName#','#customerAge#','#customerLocation#','#customerAddress#','#customerCity#','#customerZipcode#','#customerCountry#');
</cfoutput>

 
</script>
</head>

<body>
<form name="myForm" method ="post" action="customerAction.cfm">
<select name="selCustId" onchange="populateCustInfo(this.value)">
<option value="0">Select</option>
<cfoutput query="customerList">
<option value="#customerId#">#customerName#</option></cfoutput>
</select>
custid
<p>
  <input type="text" value="" name="txtCustomerName">
  custname
</p>
<p>&nbsp;</p>
<p>  <input type="text" value="" name="txtCustomerAge">
  custage
</p>
<p>    <input type="text" value="" name="txtCustomerLocation">
  custloc
</p>
<p>  <input type="text" value="" name="txtCustomerAddress">
  custaddr
</p>
<p>  <input type="text" value="" name="txtCustomerCity">
  custaddress
</p>
<p>  <input type="text" value="" name="txtCustomerZip">
  custcity
</p>
<p>  <input type="text" value="" name="txtCustomerCountry">custcount </p>
<p>&nbsp;</p>
<input type="submit" value="submit" name="submit">
<input type="reset" value="reset" name="reset">

</form>
</body>
</html>
0
Comment
Question by:ohemaa
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
3 Comments
 
LVL 36

Accepted Solution

by:
SidFishes earned 2000 total points
ID: 17799663
"I get all the custid in the dropdown on the form but it does not populate customername, etc when custid changes.  "

unless you use ajax (or load all of the customer info for every customerid) you can't do this without a trip to the server and back






0
 

Author Comment

by:ohemaa
ID: 17803271
I am not sure how to do this.  can you pls. get me started?
0
 
LVL 36

Expert Comment

by:SidFishes
ID: 17803732
one of the easiest implementations of AJAX is called JSMX found here.. http://www.lalabird.com/

there sample code you can play with...

If that's more than you want to do you can simply do something like this:
have the customer ID select box the only part visible on the page until the customerid is selected and then post the form back to the same page which then shows the full customer detail...


<CFQUERY name="GETCustomerID" datasource="#DATASOURCE#">
Select CustomerID, CustName from CustomerTable
</CFQUERY>

<cfparam name="form.customerid" default ="">
<!--- set this so the page does throw an error when loads with no customerid --->
<form name="myForm" method ="post" action="THISPAGEName.cfm"> <!--- points the post back to this same page --->
<select Name="CustomerID">
<option value="">-- Select Customer --</option>
<cfloop query="CustomerList">
<option value="#GETcustomerID.customerID#">#GETcustomerID.custName#</option>
</cfloop>

<input type="submit" Value="Lookup Customer">
</form>

<cfif form.CustomerID NEQ ""><!--- then we've selected a customer so show it's info --->

<CFQUERY name="CustomerInfo" datasource="#DATASOURCE#">
Select * from CustomerTable where CustomerID = #form.customerID#
</CFQUERY>


Info for #CustomerInfo.customerID#<br>

<p>
  <input type="text" value="#CustomerInfo.custname#" name="txtCustomerName">

</p>
<p>&nbsp;</p>
<p>  <input type="text" value="#CustomerInfo.custage#" name="txtCustomerAge">

</p>
<p>    <input type="text" value="#CustomerInfo.custloc#" name="txtCustomerLocation">
 
</p>
<p>  <input type="text" value=" #CustomerInfo.custaddr#" name="txtCustomerAddress">

</p>
<p>  <input type="text" value="#CustomerInfo.custcity" name="txtCustomerCity">
 
</p>
<p>  <input type="text" value="#CustomerInfo.custzip" name="txtCustomerZip">

</p>
<p>  <input type="text" value="#CustomerInfo.custcountry#" name="txtCustomerCountry">custcount </p>
<p>&nbsp;</p>
<input type="submit" value="submit" name="submit">
<input type="reset" value="reset" name="reset">

</form>
</cfif>






0

Featured Post

The Eight Noble Truths of Backup and Recovery

How can IT departments tackle the challenges of a Big Data world? This white paper provides a roadmap to success and helps companies ensure that all their data is safe and secure, no matter if it resides on-premise with physical or virtual machines or in the cloud.

Question has a verified solution.

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

Objective of This Article In 1990’s, when I was a budding software professional, I had a lot of confusion about which stream or technology, I had to choose to build my career. In those days, I had lot of confusion like whether to choose System so…
When it comes to showing a 404 error page to your visitors, you do not want that generic page to show, and you especially do not want your hosting provider’s ad error page to show either. In this article, I will show you how to enable the custom 40…
The purpose of this video is to demonstrate how to insert an Iframe into WordPress. This will be demonstrated using a Windows 8 PC. Go to your WordPress login page. This will look like the following: mywebsite.com/wp-login.php : Open Page or Post…
The purpose of this video is to demonstrate how to Import and export files in WordPress. This will be demonstrated using a Windows 8 PC. Go to your WordPress login page. This will look like the following: mywebsite.com/wp-login.php : Click on Too…

704 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