[Webinar] Streamline your web hosting managementRegister Today

x
?
Solved

Enable button with a checkbox VB

Posted on 2008-06-17
4
Medium Priority
?
2,145 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 2000 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

Hire Technology Freelancers with Gigs

Work with freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely, and get projects done right.

Question has a verified solution.

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

In this article we want to have a look at the directory attributes which are used by Microsoft to store the so called Security Identifiers (SID). These SIDs plays an important role in delegating and granting permissions and in authentication of trus…
Hello again, all.  For those of you that have been following along, you'll know that this is my third article on this topic (though it is not Part III).  This article is sort of remedial, and probably the topic with which I should have started the s…
Hi, this video explains a free download that you can incorporate into your Access databases, or use stand-alone for contact management. Contacts -- Names, Addresses, Phone Numbers, eMail Addresses, Websites, Lists, Projects, Notes, Attachments…
Get the source code for a fully functional Access application shell with several popular security features that Access VBA application developers desire, but find difficult or impossible to figure out how to code. You get the source code for managi…

612 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