Solved

Enable button with a checkbox VB

Posted on 2008-06-17
4
2,134 Views
Last Modified: 2010-04-21
i am using VB Script. i have a check box and a disabled button. i wish to enable button when checkbox is checked and disable button when checkbox is unchecked. Here is the code I have so far:

Default.aspx
<asp:CheckBox ID="CBFlights" runat="server" Text="Flights" value="ON" onclick="enbutton()"/>
<asp:Button ID="BNFlight" runat="server" Text="Flights" Width="74px"  Enabled="False" />

Default.aspx.vb
Sub enbutton()
        If CBFlights.Checked = True Then
            BNFlight.Enabled = True
        Else
            BNFlight.Enabled = False
        End If
    End Sub

Can anyone help here - not sure what I am doing wrong :(
Thanks
0
Comment
Question by:Phesant123
  • 2
  • 2
4 Comments
 
LVL 43

Expert Comment

by:TimCottee
ID: 21801669
Hello Phesant123,

Firstly what you really want to be doing is to do this on the client-side and not on the server-side. For a simple task like this there is really no need to make a round-trip to the server.

Use the following code (assuming you are using framework 2.0 or higher, let me know if you would prefer a 1.0/1.1 version).

<asp:CheckBox ID="CBFlights" runat="server" Text="Flights" value="ON" onclientclick="document.getElementById('<%=BNFlight.ClientID()%>').disabled=!this.checked;"/>
<asp:Button ID="BNFlight" runat="server" Text="Flights" Width="74px"  Enabled="False" />

I know this is a javascript version but it is much simpler than writing a seperate function when it is not really necessary.

Regards,

TimCottee
0
 
LVL 1

Author Comment

by:Phesant123
ID: 21801721
Hi TimCottee

Thanks for your speedy reply - thats exactly what I require above but I have entered the code above:

<asp:CheckBox ID="CBFlights" runat="server" Text="Flights" value="ON" onclientclick="document.getElementById('<%=BNFlight.ClientID()%>').disabled=!this.checked;"/>
 <asp:Button ID="BNFlight" runat="server" Text="Flights" Width="74px"  Enabled="False" />

The button remains blanked out when I click in the checkbox - any ideas?
Thanks
0
 
LVL 43

Accepted Solution

by:
TimCottee earned 500 total points
ID: 21801983
Phesant123,

Seems that the checkbox for some reason doesn't have the OnClientClick attribute, you will have to do it the other way:

            CBFlights.Attributes.Add("onclick", String.Format("document.getElementById('{0}').disabled=!this.checked;",BNFlight.ClientId))

Put this in your page_load event

TimCottee
0
 
LVL 1

Author Closing Comment

by:Phesant123
ID: 31467908
Thanks TimCottee
That works perfect
0

Featured Post

NAS Cloud Backup Strategies

This article explains backup scenarios when using network storage. We review the so-called “3-2-1 strategy” and summarize the methods you can use to send NAS data to the cloud

Question has a verified solution.

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

Introduction During my participation as a VBScript contributor at Experts Exchange, one of the most common questions I come across is this: "I have a script that runs against only one computer. How can I make it run against a list of computers in …
This article is the result of a quest to better understand Task Scheduler 2.0 and all the newer objects available in vbscript in this version over  the limited options we had scripting in Task Scheduler 1.0.  As I started my journey of knowledge I f…
This Micro Tutorial will give you a basic overview how to record your screen with Microsoft Expression Encoder. This program is still free and open for the public to download. This will be demonstrated using Microsoft Expression Encoder 4.
Windows 10 is mostly good. However the one thing that annoys me is how many clicks you have to do to dial a VPN connection. You have to go to settings from the start menu, (2 clicks), Network and Internet (1 click), Click VPN (another click) then fi…

770 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