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

How do I write the Javascript for my coldFusion form that populates a Readonly field choice from RadioGroup or TextField?

The RadioGroup and the Text Field must be named as exactly as is for a coldFusion queries.
<cfparam name="client.ContribLevel" default="">
<cfparam name="client.OtherLevel" default="">
<cfparam name="client.LevelCost" default="">
<cfheader name="Expires" value="Sun, 06 Nov 1994 08:49:37 GMT">
<cfheader name="Pragma" value="no-cache">
<cfheader name="cache-control" value="no-cache, no-store, must-revalidate">
<cfform name="Form"
				method="POST"
				action="ssContributionVALID.cfm"
				preservedata="YES">    
    <p><b>Contribution Levels (please choose one):</b><br />    
    <input type="radio"
						name="ContribLevel"
						value="Platinum" 
						onclick="document.forms[1].LevelCost.value=25000">
        &nbsp;&nbsp;Platinum $25,000<br />
        <input type="radio"
						name="ContribLevel"
						value="Gold" 
						onclick="document.forms[1].LevelCost.value=10000">
        &nbsp;&nbsp;Gold $10,000<br />
        <input type="radio"
						name="ContribLevel"
						value="Silver" 
						onclick="document.forms[1].LevelCost.value=5000">
        &nbsp;&nbsp;Silver $5,000<br />
        <input type="radio"
						name="ContribLevel"
						value="Benefactor" 
						onclick="document.forms[1].LevelCost.value=2500">
        &nbsp;&nbsp;Benefactor $2,500<br />
        <input type="radio"
						name="ContribLevel"
						value="Friend" 
						onclick="document.forms[1].LevelCost.value=1000">
        &nbsp;&nbsp;Friend $1,000<br />
        <input type="radio"
						name="ContribLevel"
						value="Other">
        &nbsp;&nbsp;Other&nbsp;&nbsp;$&nbsp;<input type="TEXT"
		  name="OtherLevel"
		  size="8"
		  onchange="document.forms[1].LevelCost.value=OtherLevelAmount()">
      <p align="left"><b>My Contribution</b>&nbsp;$
        <input type="text" name="LevelCost" value="<cfoutput>#client.LevelCost#</cfoutput>">
        </p>
  </cfform>

Open in new window

0
dawnvvb
Asked:
dawnvvb
  • 2
  • 2
1 Solution
 
SidFishesCommented:
try this
<cfparam name="client.ContribLevel" default="">
<cfparam name="client.OtherLevel" default="">
<cfparam name="client.LevelCost" default="">
<cfheader name="Expires" value="Sun, 06 Nov 1994 08:49:37 GMT">
<cfheader name="Pragma" value="no-cache">
<cfheader name="cache-control" value="no-cache, no-store, must-revalidate">
<cfForm name="myForm"
                                method="POST"
                                action="ssContributionVALID.cfm"
                                 preservedata="YES">    
    <p><b>Contribution Levels (please choose one):</b><br />    
    <input type="radio"
                                                name="ContribLevel"
                                                value="Platinum" 
                                                onclick="document.myForm.LevelCost.value=25000">
          Platinum $25,000<br />
        <input type="radio"
                                                name="ContribLevel"
                                                value="Gold" 
                                                onclick="document.myForm.LevelCost.value=10000">
          Gold $10,000<br />
        <input type="radio"
                                                name="ContribLevel"
                                                value="Silver" 
                                                onclick="document.myForm.LevelCost.value=5000">
          Silver $5,000<br />
        <input type="radio"
                                                name="ContribLevel"
                                                value="Benefactor" 
                                                onclick="document.myForm.LevelCost.value=2500">
          Benefactor $2,500<br />
        <input type="radio"
                                                name="ContribLevel"
                                                value="Friend" 
                                                onclick="document.myForm.LevelCost.value=1000">
          Friend $1,000<br />
        <input type="radio"
                                                name="ContribLevel"
                                                value="Other"
												onclick="document.myForm.LevelCost.value=OtherLevel.value">
          Other  $ <input type="TEXT"
                  name="OtherLevel"
				  
                  size="8"
                  onchange="document.myForm.LevelCost.value=this.value">
      <p align="left"><b>My Contribution</b> $
        <input type="text" name="LevelCost" id = "LevelCost" value="<cfoutput>#LevelCost#</cfoutput>">
        </p>
  </cfForm>

Open in new window

0
 
ZvonkoSystems architectCommented:
All you need to change in your original form is the form index from 1 to 0.
Like this:
onchange="document.forms[0].LevelCost.value=this.value">

And for the OtherLevel event handler use the reference: this.value


0
 
ZvonkoSystems architectCommented:
Sorry, SidFishes proposed already this.value
0
 
SidFishesCommented:
did you even try my post? it -does- work and in fact adds an additional feature which your original code doesn't have in that it updates levelcost to other amount when the radio for other is clicked - expecting a user to know they must hit enter and not providing an additional path is not great design.
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

Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

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