Solved

Error Handling with Radio Buttons

Posted on 2006-10-19
10
140 Views
Last Modified: 2013-12-24
I have a form that asks 8 questiosns. After each question is a yes and a no radio button.

Each radio button is required.

If the user selects Yes for any of the questiosns, he or she must give information in a text box below concerning why he or she answered yes.

My question is:

1. How can I show the user in a pop up box (Like the ones the user recieves when he inputs a wrong character or wrong sysntax for a text box) that he or she needs to enter a explaination when a Yes is clicked.

I am already using Validation for all my text boxs (ie. phone, email etc). I would like to stay with that type of pop up message, instead of showing the message on another screen.


Thank you
0
Comment
Question by:linder76
[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
  • 5
  • 5
10 Comments
 
LVL 39

Accepted Solution

by:
gdemaria earned 250 total points
ID: 17767973

 Pop-ups (even javascript ones) give a poor user experience.   I understand your wanting to be consitent, but if this is not an error and simply information, do not give them a pop-up just to tell them they need to enter information.   Save the alert if they fail to enter the field when clicking submit..   Avoid using it in advance of a problem, the user would quickly become annoyed.

 The following will make the text field appear on the screen if YES is checked.  Along with it, a little message "Please Explain."   I think it would be enough simply to enable and disable the Please explain field, but you wanted a message so I am doing the magical appearing block which will get the users to notice..


 <script type="text/javascript">
   function hide(id) {
   document.getElementById(id).style.visibility = "hidden";
   };

   function show(id) {
   document.getElementById(id).style.visibility = "visible";
   };
 </script>


  <input type="checkbox"  onClick="if (this.checked ) hide('Q7')"> No

  <input type="checkbox"  onClick="if (this.checked) show('Q7')"> Yes

  <div id="Q7" style="visibility:hidden">
    Please Explain<br>
    <input type="text" name="Q7explain" size=50>
  </div>
0
 

Author Comment

by:linder76
ID: 17768351
This is an error.

What needs to happen is that once the user press "Continue" the code already goes through and gives pop up errors to the text boxs that do not meet the validation requirements.
I would like that to happen to, within the same pop up window, if possible so the user sees all the errors he or she needs to correct.

Thank you,
Joe
0
 
LVL 39

Expert Comment

by:gdemaria
ID: 17769025

 so then you just need to know if the checkbox is checked before checking if the corresonding text field is filled?

 something like this... ?

 if (document.getElementById('Q7Checkbox').checked && 
     document.getElementById('Q7textField').value = '') { alert('please fill out Q7') }

0
MIM Survival Guide for Service Desk Managers

Major incidents can send mastered service desk processes into disorder. Systems and tools produce the data needed to resolve these incidents, but your challenge is getting that information to the right people fast. Check out the Survival Guide and begin bringing order to chaos.

 

Author Comment

by:linder76
ID: 17769073
Yes I also need to check if the text box has something in it...the text box is called explaination..


If I was writing in VBA it would go something like:


If C1='yes' then
 If explaination = "" then

 mgsbox "If you selected yes to any questions, please give an explaination in the text box below"
end if
end if

Also where would I put this code?
0
 

Author Comment

by:linder76
ID: 17769139
See what I am trying to do is...

Once the continue button is checked....

The text boxes are checked ...and if they are not filled in correctly a error pops up - that is working fine
Second, now the radio buttons need to be checked to see if any are yes if there are any that have yes then the explaination text box needs to be checked. If there is nothing in the text box, that is when  message needs to come up, or be part of the other other error text box

0
 
LVL 39

Expert Comment

by:gdemaria
ID: 17769343

 Ok, maybe I don't know what you are referring to by a "pop-up" box.  
  I thought you were referring to a javascript alert window.


>> I am already using Validation for all my text boxs (ie. phone, email etc).

   What language are you using to check all the fields you already have?  

0
 

Author Comment

by:linder76
ID: 17769365
yes sorry, in CF for inputboxes there is a validation setion..if the user violates the validation a "pop box" shows the user the error...it is not java script it is a built in function...
0
 
LVL 39

Expert Comment

by:gdemaria
ID: 17769583

 Ok, very easy then, its all coldfusion

 <cfif IsDefined('form.C1') and form.C1 is 'Yes' and len(form.explaination) eq 0>
     
  ... do whatever you do to add a message to this message box ....

 </cfif>


  This assumes that the name of the checkbox is C1.   If a checkbox is not checked the form variable will not exist, so you need to make sure its defined.  Len(  )  checks the number of characters in the variable,  if it returns 0, the field is empty...

   I don't know how you're creating or populating this "pop-up" box... but add to it in the <CFIF....


0
 

Author Comment

by:linder76
ID: 17769647
Sorry for the confusion

The pop up box is coming from this code

Inputbox type = "text"
.
.
.
.
Validate = "integer"
Message ="Please only enter integers"

Now once the user presses "continue" (the submit button) if the user for example puts a letter in this text box..that is when a pop up box comes up and says the message.

I hope this helps
0
 
LVL 39

Expert Comment

by:gdemaria
ID: 17770086

 The block you provided doesn't give any indication of the language or how its called, its not "native" coldfusion.

 If its coldfusion,  such as a custom tag.. then just call it between the CFIF statements I provided..

 It would look something like this...

<cf_Inputbox type = "text"
       Validate = "integer"
        Message ="Please only enter integers">



 Perhaps you can paste in a block of your code.  
0

Featured Post

Ransomware: The New Cyber Threat & How to Stop It

This infographic explains ransomware, type of malware that blocks access to your files or your systems and holds them hostage until a ransom is paid. It also examines the different types of ransomware and explains what you can do to thwart this sinister online threat.  

Question has a verified solution.

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

Most ColdFusion developers get confused between the CFSet, Duplicate, and Structcopy methods of copying a Structure, especially which one to use when. This Article will explain the differences in the approaches with examples; therefore, after readin…
Introduction This article explores the design of a cache system that can improve the performance of a web site or web application.  The assumption is that the web site has many more “read” operations than “write” operations (this is commonly the ca…
Are you ready to implement Active Directory best practices without reading 300+ pages? You're in luck. In this webinar hosted by Skyport Systems, you gain insight into Microsoft's latest comprehensive guide, with tips on the best and easiest way…

733 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