Link to home
Start Free TrialLog in
Avatar of Isaac
IsaacFlag for United States of America

asked on

Element is undefined in FORM.

Is this wrong?

 <td width="295">
     <input name="tdyTerm" type="radio" value="Yes" <cfif #SESSION.HLS.tdyTerm# EQ form.tdyTerm#>checked</cfif>>
          Yes &nbsp;
     <input name="tdyTerm" type="radio" value="No"<cfif #SESSION.HLS.tdyTerm# EQ #form.tdyTerm#>checked</cfif>>
          No
</td>

I get the error below:
Element TDYTERM is undefined in FORM.

This is what I have at the top of the page:
<CFIF NOT IsDefined("SESSION.HLS")>
    <CFSET SESSION.HLS = StructNew()>
    <CFSET SESSION.HLS.tdyTerm = "">
</CFIF>

<CFIF IsDefined("form.tdyTerm")>
   <CFSET SESSION.HLS.tdyTerm = form.tdyTerm>
   <CFSET SESSION.HLS.project = form.project>
</CFIF>

Avatar of mrichmon
mrichmon

Do you have <form> tags on your page?

Can you show your whole page code?
If you are using the FORM scope before the form has been submitted, this is why you are getting this error.

You can try to set a default value to your FORM object:
<cfparam name="FORM.tdyTerm" default="Yes" type="String">

This way, the form object will have a default value at any time and you will not receive the error.
Avatar of Isaac

ASKER


<!-- Total Number of Steps in the Form. --->
<CFSET NumberOfSteps = 5>
<!-- Session.HLS structure holds user's entries -->
<!-- If structure does not exist, create it. -->
<CFIF NOT IsDefined("SESSION.HLS")>
      <CFSET SESSION.HLS = StructNew()>
      <!-- Represents current page.-->
      <CFSET SESSION.HLS.StepNum = 1>
      
      <!-- Assign user entries to the structure for the first page. -->
      <CFSET SESSION.HLS.fname = "">
      <CFSET SESSION.HLS.lname = "">      
      <CFSET SESSION.HLS.sponDistrict = "">      
      <CFSET SESSION.HLS.City = "">      
      <CFSET SESSION.HLS.State = "">
      <CFSET SESSION.HLS.volWork = "">      
      <CFSET SESSION.HLS.volHome = "">
      <CFSET SESSION.HLS.supName = "">
      <CFSET SESSION.HLS.supWork = "">
      
      <!-- Assign user entries to the structure for the second page. -->
      <CFSET SESSION.HLS.tourdays = "">
      <CFSET SESSION.HLS.visit_dtfr = "">
      <CFSET SESSION.HLS.visit_dtto = "">
      <CFSET SESSION.HLS.deploy = "">
      <CFSET SESSION.HLS.tTime = "">
      
      <!-- Assign user entries to the structure for the third page. -->      
      <CFSET SESSION.HLS.COOPERATIVE = "">
      <CFSET SESSION.HLS.EMPOWERED = "">
      <CFSET SESSION.HLS.PRESENTS = "">
      <CFSET SESSION.HLS.ORGANIZED = "">
      <CFSET SESSION.HLS.COMMITTED = "">
      <CFSET SESSION.HLS.INDUSTRIOUS = "">
      
      <!-- Assign user entries to the structure for the fourth page. -->
      <CFSET SESSION.HLS.FLEXIBLE = "">
      <CFSET SESSION.HLS.COMPETENT = "">
      <CFSET SESSION.HLS.COMMUNICATOR = "">
      <CFSET SESSION.HLS.THINKING = "">
      <CFSET SESSION.HLS.MOTIVATED = "">
      <CFSET SESSION.HLS.NETWORK = "">
      
      <!-- Assign user entries to the structure for the fifth page. -->
      <CFSET SESSION.HLS.tdyTerm = "">
      <CFSET SESSION.HLS.project = "">
      <CFSET SESSION.HLS.cmdr = "">
      <CFSET SESSION.HLS.barriers = "">
      <CFSET SESSION.HLS.expB = ""> 
</CFIF>
      
<!-- If user submitted entries, remember it -->      
<CFIF IsDefined("form.fname")>
      <CFSET SESSION.HLS.fname = "#form.fname#">
      <CFSET SESSION.HLS.lname = "#form.lname#">      
      <CFSET SESSION.HLS.sponDistrict = "#form.sponDistrict#">      
      <CFSET SESSION.HLS.City = "#form.City#">      
      <CFSET SESSION.HLS.State = "#form.State#">
      <CFSET SESSION.HLS.volWork = "#form.volWork#">      
      <CFSET SESSION.HLS.volHome = "#form.volHome#">
      <CFSET SESSION.HLS.supName = "#form.supName#">
      <CFSET SESSION.HLS.supWork = "#form.supWork#">
<CFELSEIF IsDefined("form.tourdays")>
      <CFSET SESSION.HLS.tourdays = form.tourdays>
      <CFSET SESSION.HLS.fromDte = form.visit_dtfr>
      <CFSET SESSION.HLS.toDte = form.visit_dtto>
      <CFSET SESSION.HLS.deploy = form.deploy>
      <CFSET SESSION.HLS.tTime = form.tTime>
<CFELSEIF IsDefined("form.COOPERATIVE")>
      <CFSET SESSION.HLS.cooperative = form.cooperative>
      <CFSET SESSION.HLS.empowered = form.empowered>
      <CFSET SESSION.HLS.presents = form.presents>
      <CFSET SESSION.HLS.organized = form.organized>
      <CFSET SESSION.HLS.committed = form.committed>
      <CFSET SESSION.HLS.industrious = form.industrious>
<CFELSEIF IsDefined("form.flexible")>
      <CFSET SESSION.HLS.flexible = form.flexible>
      <CFSET SESSION.HLS.competent = form.competent>
      <CFSET SESSION.HLS.communicator = form.communicator>
      <CFSET SESSION.HLS.thinking = form.thinking>
      <CFSET SESSION.HLS.motivated = form.motivated>
      <CFSET SESSION.HLS.network = form.network>
<CFELSEIF IsDefined("form.tdyTerm")>
      <CFSET SESSION.HLS.tdyTerm = form.tdyTerm>
      <CFSET SESSION.HLS.project = form.project>
      <CFSET SESSION.HLS.cmdr = form.cmdr>
      <CFSET SESSION.HLS.barriers = form.barriers>
      <CFSET SESSION.HLS.expB = form.expB>
</CFIF>

<!-- If user clicked "Back" button, go back a step -->
<CFIF IsDefined("Form.GoBack")>
      <CFSET SESSION.HLS.StepNum = URL.StepNum - 1>
<!-- If user clicked "Next" button, go forward one -->
<CFELSEIF IsDefined("Form.GoNext")>
      <CFSET SESSION.HLS.StepNum = URL.StepNum + 1>
<!-- If user clicked "Finished" button, we're done -->
<CFELSEIF IsDefined("Form.GoDone")>
      <CFLOCATION URL="specialVol.cfm">
</CFIF>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
</head>

<body>
<CFOUTPUT>
Step #SESSION.HLS.StepNum# of #NumberOfSteps# <a href="logout.cfm">logout</a> </CFOUTPUT>
<!-- Data Entry Form, which submits back to itself -->
<cfform action="specialVol.cfm?StepNum=#SESSION.HLS.StepNum#" method="POST">
    <!-- Display the appropriate step -->        <p>stepnum: </p> <cfoutput>#SESSION.HLS.StepNum#</cfoutput>

    <cfswitch expression="#SESSION.HLS.StepNum#">
      <!-- Step One: Fname -->
<cfcase value="1">
    <table width="721" height="271" border="1">
      <tr>
        <td width="200" height="26">First Name:</td>
        <td width="150"><cfinput name="fname"
                                       size="25"
                                           value="#SESSION.HLS.fname#">
        </td>
        <td width="112">Last Name:</td>
        <td width="239"><cfinput name="lname"
                                       size="25"
                                           value="#SESSION.HLS.lname#">
        </td>
      </tr>
      <tr>
        <td height="26">District: </td>
        <td colspan="3"><cfinput name="sponDistrict"
                                       size="25"
                                           value="#SESSION.HLS.sponDistrict#">
        </td>
      </tr>
      <tr>
        <td height="26">City: </td>
        <td><cfinput name="City"
                                       size="25"
                                           value="#SESSION.HLS.City#">
        </td>
        <td>CMO State </td>
        <td><cfinput name="State"
                                       size="25"
                                           value="#SESSION.HLS.State#">
        </td>
      </tr>
      <tr>
        <td height="23" colspan="4">Contact Phone Numbers </td>
      </tr>
      <tr>
        <td rowspan="2">Volunteer</td>
        <td>Work #: </td>
        <td colspan="2"><cfinput name="volWork"
                                       size="25"
                                           value="#SESSION.HLS.volWork#">
        </td>
      </tr>
      <tr>
        <td height="26">Home #: </td>
        <td colspan="2"><cfinput name="volHome"
                                       size="25"
                                           value="#SESSION.HLS.volHome#">
        </td>
      </tr>
      <tr>
        <td rowspan="2"> Supervisor </td>
        <td>Name:</td>
        <td colspan="2"><cfinput name="supName"
                                       size="25"
                                           value="#SESSION.HLS.supName#">
        </td>
      </tr>
      <tr>
        <td height="26">Work # </td>
        <td colspan="2"><cfinput name="supWork"
                                       size="25"
                                           value="#SESSION.HLS.supWork#">
        </td>
      </tr>
      </table>
</cfcase>
        
<cfcase value="2">
        <table width="817" height="232" border="1">
      <tr>
        <td height="23" colspan="4">Available for, tours of duty</td>
      </tr>
      <tr>
        <td height="42" colspan="4">
                  <select name="tourdays" size="2">
                  <option value="90 days">90 days</option>
                  <option value="179 days">179 days</option>
                  <option value="Long Term">Long Term</option>
                </select>
              </td>
      </tr>
            <tr>
        <td height="23">Have you previously deployed? </td>
        <td colspan="3"><input name="deploy" type="radio" value="Yes">
          Yes &nbsp;
          <input name="deploy" type="radio" value="No">
          No </td>
      </tr>
      <tr>
        <td height="23"><div align="right">Total Time: </div></td>
        <td colspan="3"><cfinput name="tTime"
                                       size="25"
                                           value="#SESSION.HLS.tTime#"></td>
      </tr>
        </table>
</cfcase>

<cfcase value="3">
        <table width="721" border="1">
              <tr>
    <td colspan="2">Areas of Competencies</td>
  </tr>
  <tr>
    <td colspan="2">
        <div>Instructions: Address each area of competency identified below. Type a brief explanation in the space provided to the right (NTE 500 characters) as to how you meet that specific competency.</div>
      </div></td>
    </tr>
  <tr>
    <td width="222">Cooperative</td>
        <td width="483"><textarea name="COOPERATIVE" cols="45" rows="3" id="COOPERATIVE"><cfoutput>#SESSION.HLS.COOPERATIVE#</cfoutput></textarea></td>
  </tr>
  <tr>
    <td>Empowered</td>
    <td><textarea name="EMPOWERED" cols="45" rows="3" id="EMPOWERED"><CFOUTPUT>#SESSION.HLS.EMPOWERED#</CFOUTPUT></textarea></td>
  </tr>
  <tr>
    <td>Presents well to others</td>
    <td><textarea name="PRESENTS" cols="45" rows="3" id="PRESENTS"><CFOUTPUT>#SESSION.HLS.PRESENTS#</CFOUTPUT></textarea></td>
  </tr>
  <tr>
    <td>Organized</td>
    <td><textarea name="ORGANIZED" cols="45" rows="3" id="ORGANIZED"><CFOUTPUT>#SESSION.HLS.ORGANIZED#</CFOUTPUT></textarea></td>
  </tr>
  <tr>
    <td>Committed</td>
    <td><textarea name="COMMITTED" cols="45" rows="3" id="COMMITTED"><CFOUTPUT>#SESSION.HLS.COMMITTED#</CFOUTPUT></textarea></td>
  </tr>
  <tr>
    <td>Industrious</td>
    <td><textarea name="INDUSTRIOUS" cols="45" rows="3" id="INDUSTRIOUS"><CFOUTPUT>#SESSION.HLS.INDUSTRIOUS#</CFOUTPUT></textarea></td>
  </tr>
  </table>
 </cfcase>
 
 <cfcase value="4">
 <table>
  <tr>
    <td>Flexible</td>
    <td><textarea name="FLEXIBLE" cols="45" rows="3" id="FLEXIBLE"><CFOUTPUT>#SESSION.HLS.FLEXIBLE#</CFOUTPUT></textarea></td>
  </tr>
  <tr>
    <td>Competent</td>
    <td><textarea name="COMPETENT" cols="45" rows="3" id="COMPETENT"><CFOUTPUT>#SESSION.HLS.COMPETENT#</CFOUTPUT></textarea></td>
  </tr>
  <tr>
    <td>Good Communicator </td>
    <td><textarea name="COMMUNICATOR" cols="45" rows="3" id="COMMUNICATOR"><CFOUTPUT>#SESSION.HLS.COMMUNICATOR#</CFOUTPUT></textarea></td>
  </tr>
  <tr>
    <td>Out of the box thinking </td>
    <td><textarea name="THINKING" cols="45" rows="3" id="THINKING"><CFOUTPUT>#SESSION.HLS.THINKING#</CFOUTPUT></textarea></td>
  </tr>
  <tr>
    <td>Self-Motivated</td>
    <td><textarea name="MOTIVATED" cols="45" rows="3" id="MOTIVATED"><CFOUTPUT>#SESSION.HLS.MOTIVATED#</CFOUTPUT></textarea></td>
  </tr>
  <tr>
      <td height="72">Knows how to Network </td>
    <td><textarea name="NETWORK" cols="45" rows="3" id="NETWORK"><CFOUTPUT>#SESSION.HLS.NETWORK#</CFOUTPUT></textarea>
      </td>
  </tr>
      </table>
</cfcase>

<CFCASE value="5">
        <table width="721" border="1">
              <tr>
                <td width="410">Are you able to perform short or long term TDY? </td>
                 
        <td width="295">
<input name="tdyTerm" type="radio" value="Yes" <cfif #SESSION.HLS.tdyTerm# EQ #form.tdyTerm#>checked</cfif>>
          Yes &nbsp;
          <input name="tdyTerm" type="radio" value="No"<cfif #SESSION.HLS.tdyTerm# EQ #form.tdyTerm#>checked</cfif>>
No </td>
            </tr>
              <tr>
                <td>Do you expect any challenges if asked to commit to this project? </td>
                <td><input name="project" type="radio" value="Yes">
Yes &nbsp;
<input name="project" type="radio" value="No">
No </td>
            </tr>
              <tr>
                <td>Name of your Cmdr or Director</td>
                <td><cfinput name="cmdr"
                                       size="25"
                                           value="#SESSION.HLS.cmdr#">
              </td>
            </tr>
              <tr>
                <td>You're interested but have barriers - Can we assist you? </td>
              <td><input name="barriers" type="radio" value="Yes">
Yes &nbsp;
<input name="barriers" type="radio" value="No">
No </td>
              </tr>
              <tr>
                <td colspan="2">Explain<br>
              <textarea name="expB" cols="45" rows="3" id="expB"><CFOUTPUT>#SESSION.HLS.expB#</CFOUTPUT></textarea></td>
            </tr>
        </table>
</CFCASE>
</cfswitch>
      
      <p>
      <!--- Show Back button, unless at first step --->
      <CFIF SESSION.HLS.StepNum GT 1>
            <INPUT TYPE="SUBMIT" NAME="GoBack" VALUE="&lt;&lt; Back">
      </CFIF>
      
      <!-- Show next button, unless at last step -->
      <!-- If at last step, show Finish button -->
      <CFIF SESSION.HLS.StepNum LT NumberOfSteps>
            <INPUT TYPE="SUBMIT" NAME="GoNext" VALUE="Next &gt;&gt;">
      <CFELSE>
            <INPUT TYPE="SUBMIT" NAME="GoDone" VALUE="Finish">
      </CFIF>
  </cfform>
 <cfdump var="#SESSION.HLS.tdyTerm#">
  <cfdump var="#form.tdyTerm#">
</body>
</html>
Okay the thing is that since the tdyTerm is a radio button and you do not start out with one selected by default - then if the user doesn' select either of the choices then tdyTerm will never be defined in the form.

So you have the following choices :

1) use a cfparam to define a default value as showed by reitzen
2) Start out with one of the radio buttons as selected as a default answer
3) Use a cfif IsDefined("form.tdyTerm") before you access it. (or any other radio button for that matter.
ASKER CERTIFIED SOLUTION
Avatar of mrichmon
mrichmon

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