On change event for VBScript Radio button

Here's my code:

<SCRIPT LANGUAGE="VBScript">
<!--

private sub optRate_onChange()
     
     msgbox "Hello"
     
End sub

'More code here at the bottom

</SCRIPT>

and here's part of the HTML code

<TR class=clsoddrow>
     <TD>
        <INPUT type="radio" name="optRate" value="1"  >Branch-Quoted
    </TD>
    <TD>
     <INPUT type="text" name="txtBranchRate" maxlength="20" size="22" value="" >
   </TD>
  <TD colspan=2> &nbsp; </TD>
     </TR>
     <TR class=clsevenrow>
          <TD><INPUT type="radio" name="optRate" value="2"  >Treasury-Quoted

          </TD>
          <TD>
               
               <INPUT type=TEXT name="txtTreasuryRate" size=14 maxlength=14 value="0">
          </TD>
          <TD> Reference Number </TD>
          <TD>
               <INPUT type="text" name="txtTreasuryRefNo" maxlength="20" size="22" value="" >
          </TD>
     </TR>

what i want to happen is that everytime someone click on the radio button, it would go in my function (I don't know if i should use onchange or onclick) Also, how would i know which radio button is currently selected?
FweddieAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

thirdCommented:
why use vbscript? it's not supported on NS browsers.


function radioclick(){
  var obj = document.forms[0];
  for(var i=0;i<obj.length;i++){
    if((obj.elements[i].type=="radio") && (obj.elements[i].checked)){
      alert(obj.elements[i].value);
      //execute your function
    }
  }
}
0
thirdCommented:
btw, you can call that as

<INPUT type="radio" name="optRate" value="1" onclick="radioclick()">

<INPUT type="radio" name="optRate" value="2" onclick="radioclick()">

or do it directly (without using the function),

<INPUT type="radio" name="optRate" value="1" onclick="alert(this.value);//execute function here">
<INPUT type="radio" name="optRate" value="2" onclick="alert(this.value);">
0
thirdCommented:
why use vbscript? it's not supported on NS browsers.


function radioclick(){
  var obj = document.forms[0];
  for(var i=0;i<obj.length;i++){
    if((obj.elements[i].type=="radio") && (obj.elements[i].checked)){
      alert(obj.elements[i].value);
      //execute your function
    }
  }
}
0
Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

thirdCommented:
ooppss, ignore it. it's just the same with the first post.
0
FweddieAuthor Commented:
I'm using RDS and I have to use VBScript (unless there's a way to call a VBScript function from Javascript). Javascript would have been easier on this :(
0
avnerCommented:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> Blank:Document </TITLE>
<META NAME="Author" CONTENT="(C)Avner Cohen">
<SCRIPT LANGUAGE="VBSCRIPT">

Function aa_onclick()
msgBox ("something")
End Function

</SCRIPT>
</HEAD>

<BODY>
<input type="radio" onclick="aa_onclick" >
</BODY>
</HTML>
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
thirdCommented:
<html>
<head>
<script language="vbscript">
function radioclick()
  dim obj, i
  set obj = document.forms(0)
  for i=0 to obj.length-1
    if (obj.elements(i).type="radio") and (obj.elements(i).checked) then
      msgbox "the value of the selected radio button is " + obj.elements(i).value
      'execute function here ....
      exit for
    end if
  next
end function
</script>
</head>
<body>
<form>
  <input type="radio" name="optRate" value="1" onclick="radioclick">Branch-Quoted
  <input type="text"  name="txtBranchRate" maxlength="20" size="22" value="" >
  <input type="radio" name="optRate" value="2" onclick="radioclick">Treasury-Quoted
  <input type="text"  name="txtTreasuryRate" size=14 maxlength=14 value="0">
  <input type="text"  name="txtTreasuryRefNo" maxlength="20" size="22" value="" >
</form>
</body>
</html>
0
FweddieAuthor Commented:
Here's my code now:

<SCRIPT LANGUAGE="VBScript">
<!--
Private Function Radio_click()

msgbox "HELLO"

end Function

'-- more scripts here

</SCRIPT>

     <TR class=clsevenrow>
          <TD><input type="radio" name="optRate" value="1" onclick="Radio_click()">Branch-Quoted              
          </TD>
          <TD>
               <INPUT type="text" name="txtBranchRate" maxlength="20" size="22" value="" >
          </TD>
          <TD colspan=2> &nbsp; </TD>
     </TR>
     <TR class=clsoddrow>
          <TD><input type="radio" name="optRate" value="2" onclick="Radio_click()">Treasury-Quoted          
          </TD>
          <TD>              
               <INPUT type=TEXT name="txtTreasuryRate" size=14 maxlength=14 value="196">
          </TD>
          <TD> Reference Number </TD>
          <TD>
               <INPUT type="text" name="txtTreasuryRefNo" maxlength="20" size="22" value="" >
          </TD>
     </TR>



i now get an "Object Expected" error when i click on the radio button...
0
avnerCommented:
What browser you use ?

BEcause i don't have this problem.
0
FweddieAuthor Commented:
please note that i have a javascript part before the vbscript part. would this be a problem? (conflicting script languages perhaps?)
0
thirdCommented:
remove private from the function

Function Radio_click()

msgbox "HELLO"

end Function


btw, have you tried my example?
0
FweddieAuthor Commented:
ok, got it to work. I just added the VBScript part on top of the java script part

so instead of

<script language=javascript>
//scripts here
</Script>
<script language=vbscript>
'--scripts here
</Script>


i did

<script language=vbscript>
'--scripts here
</Script>

<script language=javascript>
//scripts here
</Script>

0
FweddieAuthor Commented:
i've modified third's code to reproduce the error

<html>
<head>
<script language="vbscript">
function radioclick()
 dim obj, i
 set obj = document.forms(0)
 for i=0 to obj.length-1
   if (obj.elements(i).type="radio") and (obj.elements(i).checked)

then
     msgbox "the value of the selected radio button is " +

obj.elements(i).value
     'execute function here ....
     exit for
   end if
 next
end function
</script>
<script language="javascript">
function Window_OnLoad()
{

alert("Hello");

}
</script>
</head>
<body onload="Window_OnLoad();">
<form>
 <input type="radio" name="optRate" value="1"

onclick="radioclick">Branch-Quoted
 <input type="text"  name="txtBranchRate" maxlength="20" size="22"

value="" >
 <input type="radio" name="optRate" value="2"

onclick="radioclick">Treasury-Quoted
 <input type="text"  name="txtTreasuryRate" size=14 maxlength=14

value="0">
 <input type="text"  name="txtTreasuryRefNo" maxlength="20" size="22"

value="" >
</form>
</body>
</html>
0
thirdCommented:
"i've modified third's code to reproduce the error"

??
0
FweddieAuthor Commented:
found the error.
it seems that i have to do the vbscript part first before the java script part. also, i had to remove the semi colon on the onload function when calling it
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
JavaScript

From novice to tech pro — start learning today.

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.