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

2 radio buttons and simple function

<script language="javascript">
function enabled(chosen)
{
alert(chosen);
//This function takes the option that is chosen and disables the other two
     if (chosen == "meter")
          {
          document.TheForm.region.selectedIndex = 0;
          document.TheForm.district.selectedIndex = 0;
          document.TheForm.usage.checked = false;
          }
     else if(chosen == "district")
          {
          document.TheForm.meter.selectedIndex = 0;
          document.TheForm.region.selectedIndex = 0;
          }
     else if(chosen == "region")
          {
          document.TheForm.meter.selectedIndex = 0;
          document.TheForm.district.selectedIndex = 0;
          }
     else
          {
          document.TheForm.meter.selectedIndex = 0;
          }
}
</script>



<input type="radio" name="usage" value="van" onClick="enabled(document.TheForm.usage.value);">

<input type="radio" name="usage" value="total" onClick="enabled(document.TheForm.usage.value);">

Whenever the radio buttons are clicked on, my alert statment says chosen is undefined.  I am wanting to set both radio buttons to unchecked if the meter drop box is selected.  Any thoughts?  

-m
0
mudface061200
Asked:
mudface061200
  • 4
  • 2
1 Solution
 
estraussCommented:
Radio buttons are a pain! They have no value just because they have been click (at least as far as JavaScript is concerned. I have written the function below to get the value of the checked radio button.


function getselectedbutton(buttongroup)
     {
      for (var i=0; i <buttongroup.length;i++)
          {
          if (buttongroup[i].checked)
               {
               return buttongroup[i].value;
               break;
               }
          }
     alert("you must select a value from the radio buttons");
     return(false);
     }


So, you should be able to do the following:
Add this function to your script
Change the onclick to enable(document.TheForm.usage)
Add the following to your function
newvariablename= getselectedbutton(chosen)


I haven't checked the rest of it, so there may some other minor changes, but that should basically do it.
Ethan
0
 
mudface061200Author Commented:
Wow, there isn't a cleaner way to clear 2 radio buttons if a drop down menu is selected?

-m
0
 
estraussCommented:
None that I know of. You could always pass the value directly somehow. Something like:

onClick="enabled('radio1chosen');"

and then check for that value. Since you only have two radio buttons that should be fine.
Ethan


0
Cloud Class® Course: CompTIA Healthcare IT Tech

This course will help prep you to earn the CompTIA Healthcare IT Technician certification showing that you have the knowledge and skills needed to succeed in installing, managing, and troubleshooting IT systems in medical and clinical settings.

 
mudface061200Author Commented:
Thanks!  I don't know why I didn't think of that earlier.

-m
0
 
psogaaCommented:
You need to use the object hierachy to pass the value of the selected radio button, like this:

<form name=TheForm>
<input type="radio" name="usage" value="van" onClick="enabled(this.value);">
<input type="radio" name="usage" value="total" onClick="enabled(this.value);">
</form>

I'm not sure what it is you exactly are trying to do.
If you you post the whole code including the drop down menus and explain it a little better, i'll mix up a working sollution for you :)
0
 
mudface061200Author Commented:
psogaa,

Once inside my function, how would I reference those radio buttons?  I.E. How can I tell them to be unselected?
0
 
mudface061200Author Commented:
Nevermind.  I now understand radio buttons are handled as arrays..
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: MCSA MCSE Windows Server 2012

This course teaches how to install and configure Windows Server 2012 R2.  It is the first step on your path to becoming a Microsoft Certified Solutions Expert (MCSE).

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