Solved

On change event for VBScript Radio button

Posted on 2002-04-09
15
1,009 Views
Last Modified: 2012-05-04
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?
0
Comment
Question by:Fweddie
  • 7
  • 6
  • 2
15 Comments
 
LVL 30

Expert Comment

by:third
Comment Utility
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
 
LVL 30

Expert Comment

by:third
Comment Utility
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
 
LVL 30

Expert Comment

by:third
Comment Utility
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
 
LVL 30

Expert Comment

by:third
Comment Utility
ooppss, ignore it. it's just the same with the first post.
0
 

Author Comment

by:Fweddie
Comment Utility
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
 
LVL 14

Accepted Solution

by:
avner earned 50 total points
Comment Utility
<!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
 
LVL 30

Expert Comment

by:third
Comment Utility
<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
Highfive + Dolby Voice = No More Audio Complaints!

Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

 

Author Comment

by:Fweddie
Comment Utility
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
 
LVL 14

Expert Comment

by:avner
Comment Utility
What browser you use ?

BEcause i don't have this problem.
0
 

Author Comment

by:Fweddie
Comment Utility
please note that i have a javascript part before the vbscript part. would this be a problem? (conflicting script languages perhaps?)
0
 
LVL 30

Expert Comment

by:third
Comment Utility
remove private from the function

Function Radio_click()

msgbox "HELLO"

end Function


btw, have you tried my example?
0
 

Author Comment

by:Fweddie
Comment Utility
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
 

Author Comment

by:Fweddie
Comment Utility
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
 
LVL 30

Expert Comment

by:third
Comment Utility
"i've modified third's code to reproduce the error"

??
0
 

Author Comment

by:Fweddie
Comment Utility
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

Featured Post

Do You Know the 4 Main Threat Actor Types?

Do you know the main threat actor types? Most attackers fall into one of four categories, each with their own favored tactics, techniques, and procedures.

Join & Write a Comment

Avoid defining the variables in the global scope; trying to define them in a local function scope. Because:   • Look-up is performed every time a variable is accessed.   • Variables are resolved backwards from most specific to least specific scope…
This article discusses how to create an extensible mechanism for linked drop downs.
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

762 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

Need Help in Real-Time?

Connect with top rated Experts

7 Experts available now in Live!

Get 1:1 Help Now