Submit event causes IE error with RadioButtonList validation

donaldcroswell
donaldcroswell used Ask the Experts™
on
Hello All

I have a submit_button on a form with multiple RadioButtonList Validations like below.

<asp:RadioButtonList ID="radio2" runat="server" AutoPostBack="True" OnSelectedIndexChanged="showOther">
    <asp:ListItem Text="Word of mouth" Value="Word of mouth" />
    <asp:ListItem Text="Internet search" Value="Internet search" />
    <asp:ListItem Text="Advertising" Value="Advertising" />
    <asp:ListItem Text="TSEAP leaflet" Value="TSEAP leaflet" />
    <asp:ListItem Text="Other" Value="Other"/>
    </asp:RadioButtonList>
    <span id="span2" runat="server" visible="false">(please specify) <asp:TextBox runat="server" ID="txt2Other" /></span>
    <asp:RequiredFieldValidator ControlToValidate="radio2" ID="val2" runat="server" ErrorMessage="*Required" SetFocusOnError="true" />

It just calls a script on postback and shows the "span" tag if the "Other" radio is selected.

when I test the page and click the submit_form button it will highlight all the radiobutton groups that were not filled in. (GREAT!)

then, if I click on a radio button group that has a "OnSelectedIndexChanged" function, (like the one above) it will turn off ALL of the red validation text on ALL the groups and cause an error when the form is submitted without "ALL" of the groups checked.

I think something is happening in my showOther() function that is called on postback which turns all of my errors off:

    Protected Sub showOther(ByVal sender As Object, ByVal e As System.EventArgs)
        If radio2.SelectedValue = "Other" Then
            span2.Visible = True
        Else
            span2.Visible = False
        End If
    End Sub

Any ideas as to why the validation generates an error instead of flagging the radio groups that still don't have a selection?

Many thanks in advance.

Cheers
Don
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
What error you are getting ?

Author

Commented:
Hi Sandip

First I get the:
Internet Explorer has encountered a problem and needs to close.  We are sorry for the inconvenience.


Then I get:
The instruction at "0x7470b439" referenced memory at "". The memory could not be "read".
Click on OK to terminate the program

Thanks
Don
This seems problem with your IE/Or other application. You could try to remove and reinstall IE or the application in whose exe the error is occuring.

If IE is working fine. try using Panel control instead of SPAN.

I have tested same application on my PC with Panel control... works fine.

HTML:
<asp:radiobuttonlist id="RadioButtonList1" style="Z-INDEX: 101; LEFT: 272px; POSITION: absolute; TOP: 64px"
                              runat="server" AutoPostBack="True">
                              <asp:ListItem Value="Op1">Op1</asp:ListItem>
                              <asp:ListItem Value="Op2">Op2</asp:ListItem>
                              <asp:ListItem Value="Op3">Op3</asp:ListItem>
                              <asp:ListItem Value="Others">Others</asp:ListItem>
                        </asp:radiobuttonlist>
<asp:Panel id="Panel1" style="Z-INDEX: 102; LEFT: 360px; POSITION: absolute; TOP: 136px" runat="server"
                              Height="32px" Width="296px" visible="False">Please Specify
<asp:TextBox id="txt2Other" runat="server"></asp:TextBox></asp:Panel>

And the code behind:

    Private Sub RadioButtonList1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButtonList1.SelectedIndexChanged
        If RadioButtonList1.SelectedValue = "Others" Then
            Panel1.Visible = True
        Else
            Panel1.Visible = False
        End If
    End Sub

Author

Commented:
Hey

That saved me lots of time!

I would have never thought of that and don't understand really why it works now but your help is very much appreciated.

Cheers
Don

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial