Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1148
  • Last Modified:

adding a text box to a radio button list?

Hi, I have a radio button list, but was hoping to add a textbox to the last option like this.  Is this possible to do?  If this radio button is selected, is it possible to make entering info into the text box required?  Thanks!

 Status:*
undergraduate
graduate
faculty or staff
guest user (non-TWU).  What school are you from? [text box here]
<br />
																		 Status:*<br /><asp:RadioButtonList id="status" runat="server">
 
                                <asp:ListItem id="status_undergrad" runat="server" Value="undergraduate" />
                                <asp:ListItem id="status_grad" runat="server" Value="graduate" />
                                <asp:ListItem id="status_fs" runat="server" Value="faculty or staff" />
                                <asp:ListItem id="status_guest" runat="server" Value="guest user (non-TWU)" />
                            </asp:RadioButtonList>												 <asp:RequiredFieldValidator ID="RequiredFieldValidator3" ControlToValidate="status"
                            ErrorMessage="TWU Status" runat="Server" Text="*Status Required"></asp:RequiredFieldValidator>

Open in new window

0
jianxin9
Asked:
jianxin9
  • 8
  • 5
1 Solution
 
Bob LearnedCommented:
I would think that you need to toggle the Enabled property for the RequiredFieldValidator, when the selected option in the RadioButtonList is changed.
0
 
jianxin9Author Commented:
Thanks!  Can anyone show me an example of how to do that?
0
 
Bob LearnedCommented:
Attach an event handler to the SelectedIndexChanged event, and change the RequiredFieldValidator.Enabled = (RadioButtonList.SelectedIndex = <index of the item that you are working with>.
0
Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
jianxin9Author Commented:
Thanks!   Would it look like this?  I'm not really sure....

                                <asp:ListItem id="status_undergrad" runat="server" Value="undergraduate" />
                                <asp:ListItem id="status_grad" runat="server" Value="graduate" />
                                <asp:ListItem id="status_fs" runat="server" Value="faculty or staff" />
                                <asp:ListItem id="status_guest" runat="server" Value="guest user (non-TWU)" />What school are you from?<asp:TextBox ID="status_school" runat="Server" />
                            </asp:RadioButtonList>                                                                                               <asp:RequiredFieldValidator ID="RequiredFieldValidator3" ControlToValidate="status"
                            ErrorMessage="TWU Status" runat="Server" Text="*Status Required" Enabled = (RadioButtonList.SelectedIndex = <status>
							</asp:RequiredFieldValidator>

Open in new window

0
 
Bob LearnedCommented:
That is the fun part of trying to figure out ASP.NET--trying to find just the right form.

An answer can be found here:

ListControl..::.SelectedIndexChanged Event
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.listcontrol.selectedindexchanged.aspx
0
 
jianxin9Author Commented:
thanks!  yeah, i am still confused about how to put it all together--thanks for the link
0
 
jianxin9Author Commented:
Hmmm...I am still stumped on this--if anyone could formulate an example of how this might work using my code I would really appreciate it!  Thanks!
0
 
Bob LearnedCommented:
That someone is going to be me, and I am going to try to get you where you need to be, without doing the work for you.

Important points from the article:

1) Attach an event handler in HTML for the SelectedIndexChanged event

<asp:RadioButtonList id="RadioButtonList1"
            OnSelectedIndexChanged="Index_Changed"
            AutoPostBack="true"
            runat="server"/>

2) Define the event handler in the code-behind

   VB.NET:
   Sub Index_Changed(sender As Object, e As EventArgs)        
        Label1.Text = "You selected " & RadioButtonList1.SelectedItem.Text & _
            " with a value of : " & RadioButtonList1.SelectedItem.Value & "."
    End Sub

    C#:
    void Index_Changed(Object sender, EventArgs e) {

       Label1.Text = "You selected " + RadioButtonList1.SelectedItem.Text +
                     " with a value of $" + RadioButtonList1.SelectedItem.Value +
                     ".";

    }
0
 
jianxin9Author Commented:
I do appreciate the help--thank you.   Okay, I am getting errors when I load the page--but this is what I'm trying. Am I on the right track at all?
Info before closing script tag:
} 
    // Allow the user to enter in their school information if from another institution
 
 void Index_Changed(Object sender, EventArgs e) {
 
       Label1.Text = "You selected " + RadioButtonList1.SelectedItem.Text +
                     " Please tell us what school you are from" + RadioButtonList1.SelectedItem.Value +
                     ".";
 
    }
 
								
 
Status:*<br /><asp:RadioButtonList id="status" runat="server">
 
                                <asp:ListItem id="status_undergrad" runat="server" Value="undergraduate" />
                                <asp:ListItem id="status_grad" runat="server" Value="graduate" />
                                <asp:ListItem id="status_fs" runat="server" Value="faculty or staff" />
                                 <asp:ListItem id="status_guest" OnSelectedIndexChanged="Index_Changed"
            AutoPostBack="true" runat="server" Value="guest user (non-TWU)" /></asp:RadioButtonList>   What school are you from?<asp:Label id="Label1" runat="server"/>
                                                                 				 <asp:RequiredFieldValidator ID="RequiredFieldValidator3" ControlToValidate="status"
                            ErrorMessage="TWU Status" runat="Server" Text="*TWU Status Required"></asp:RequiredFieldValidator><br />

Open in new window

0
 
Bob LearnedCommented:
That is the right track, but you are referencing Label1, which you don't have on the page, so you need to change the Index_Changed event handler to do what you need, which is to look at the RadioButtonList's selected item, and determine how to set RequiredFieldValidator.Enabled.
0
 
jianxin9Author Commented:
Hmm...well, I'm confused about the example--where does the text box come in?

Is this any closer?  Sorry--I'm pretty new to this and very lost.
Info before closing script tag:
} 
    // Allow the user to enter in their school information if from another institution
 
 void Index_Changed(Object sender, EventArgs e) {
 
       Label1.Text = "You selected " + status_guest.SelectedItem.Text +
                     " Please tell us what school you are from" + status_guest.SelectedItem.Value +
                     ".";
 
    }
 
                                                                
 
Status:*<br /><asp:RadioButtonList id="status" runat="server">
 
                                <asp:ListItem id="status_undergrad" runat="server" Value="undergraduate" />
                                <asp:ListItem id="status_grad" runat="server" Value="graduate" />
                                <asp:ListItem id="status_fs" runat="server" Value="faculty or staff" />
                                 <asp:ListItem id="status_guest" OnSelectedIndexChanged="Index_Changed"
            AutoPostBack="true" runat="server" Value="guest user (non-TWU)" /></asp:RadioButtonList>   What school are you from?<asp:Label id="Label1" runat="server"/>
                                                                                                 <asp:RequiredFieldValidator ID="RequiredFieldValidator3" ControlToValidate="status"
                            ErrorMessage="TWU Status" runat="Server" Text="*TWU Status Required"></asp:RequiredFieldValidator><br />

Open in new window

0
 
jianxin9Author Commented:
For anyone that can help with this--is this any closer?  Thanks!
Hidden Code:
 
}       
         
         //Give users the option to enter school information
         Protected Sub rbl1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rbl1.SelectedIndexChanged
     
  If rblAns.SelectedValue = "status_guest" Then
      ctlValidation.enabled = True
  else
      ctlValidation.enabled = False
  End If
 
End Sub
</script>
 
 
 
 
      Status:*<br /><asp:RadioButtonList id="status" runat="server">
 
                                <asp:ListItem id="status_undergrad" runat="server" Value="undergraduate" />
                                <asp:ListItem id="status_grad" runat="server" Value="graduate" />
                                <asp:ListItem id="status_fs" runat="server" Value="faculty or staff" />
                                 <asp:ListItem id="status_guest" runat="server" Value="guest user (non-TWU)" /></asp:RadioButtonList>   
 
                                                                                  <asp:RequiredFieldValidator ID="RequiredFieldValidator3" ControlToValidate="status"
                            ErrorMessage="Status" runat="Server" Text="*TWU Status Required"></asp:RequiredFieldValidator><br />
                                                        What school are you from?<asp:TextBox ID="school" runat="Server" />

Open in new window

0
 
jianxin9Author Commented:
thanks for the help
0

Featured Post

Get expert help—faster!

Need expert help—fast? Use the Help Bell for personalized assistance getting answers to your important questions.

  • 8
  • 5
Tackle projects and never again get stuck behind a technical roadblock.
Join Now