Crew .NET |
|
Ik heb het kunnen oplossen, maar heb het een beetje anders gedaan...
Je hebt je invoervak, je dropdownlist en een button
AutoPostBack staat op true dus laad hij elke keer de pagina opnieuw bij een andere keuze, dus kan je je functie in de page_load schrijven ipv 'onselectedindexchanged'...
Code:
<? (kleur)
<%@ Page Language="VB" Debug="true" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
Dim keuze As String
keuze = statusDropDown.SelectedItem.ToString
If (keuze = "Select One ...") Then
keuze = ""
End If
Response.Write(keuze)
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="nameTextBox" runat="server" ></asp:TextBox>
<asp:RequiredFieldValidator ID="nameRequiredField" runat="server" ControlToValidate="nameTextBox"
ErrorMessage="Name is required">*</asp:RequiredFieldValidator><br />
<asp:DropDownList ID="statusDropDown" runat="server" AutoPostBack="True" >
<asp:ListItem Selected="True">Select One ...</asp:ListItem>
<asp:ListItem>Not Started</asp:ListItem>
<asp:ListItem>in Progress</asp:ListItem>
<asp:ListItem>Complete</asp:ListItem>
</asp:DropDownList>
<asp:CompareValidator ID="CompareValidator1" runat="server" ControlToValidate="statusDropDown"
ErrorMessage="Status is required" Operator="NotEqual" ValueToCompare="Select One ...">*</asp:CompareValidator><br /><br />
<asp:Button ID="knop" runat="server" Text="Controleer" /></div>
</form>
</body>
</html>
<? (kleur) <%@ Page Language="VB" Debug="true" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server"> Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Dim keuze As String keuze = statusDropDown.SelectedItem.ToString If (keuze = "Select One ...") Then keuze = "" Response.Write(keuze) </script> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server"> <title>Untitled Page</title> </head> <body> <form id="form1" runat="server"> <div> <asp:TextBox ID="nameTextBox" runat="server" ></asp:TextBox> <asp:RequiredFieldValidator ID="nameRequiredField" runat="server" ControlToValidate="nameTextBox" ErrorMessage="Name is required">*</asp:RequiredFieldValidator><br /> <asp:DropDownList ID="statusDropDown" runat="server" AutoPostBack="True" > <asp:ListItem Selected="True">Select One ...</asp:ListItem> <asp:ListItem>Not Started</asp:ListItem> <asp:ListItem>in Progress</asp:ListItem> <asp:ListItem>Complete</asp:ListItem> </asp:DropDownList> <asp:CompareValidator ID="CompareValidator1" runat="server" ControlToValidate="statusDropDown" ErrorMessage="Status is required" Operator="NotEqual" ValueToCompare="Select One ...">*</asp:CompareValidator><br /><br /> <asp:Button ID="knop" runat="server" Text="Controleer" /></div> </form> </body> </html>
Als je nu op de knop klikt, worden allebei gecontroleerd en indien er in het tekstvak niets staat en er geen keuze is gemaakt in de dropdownlist zal er naast elk een sterretje verschijnen...
Het verschil met jouw script is dat ik de functie in de Page_Load van de pagina zet en geen aparte functie ga aanroepen vanuit de dropdownlist...
Hopelijk is het duidelijk en heb ik je kunnen helpen!
Laat maar iets weten |