Solved

Enable button with a checkbox VB

Posted on 2008-06-17
4
2,135 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

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

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

Recently I finished a vbscript that I thought I'd share.  It uses a text file with a list of server names to loop through and get various status reports, then writes them all into an Excel file.  Originally it was put together for our Altiris server…
Over the years I have built up my own little library of code snippets that I refer to when programming or writing a script.  Many of these have come from the web or adaptations from snippets I find on the Web.  Periodically I add to them when I come…
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …
I've attached the XLSM Excel spreadsheet I used in the video and also text files containing the macros used below. https://filedb.experts-exchange.com/incoming/2017/03_w12/1151775/Permutations.txt https://filedb.experts-exchange.com/incoming/201…

830 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