2010-08-31 5 views
1

ASP.NET3.5 Webforms. Я пытаюсь поместить валидатор в раскрывающийся список, только если флажок установлен.Подтвердить DropDownList, если флажок установлен

Это не работает. Если я поставлю предупреждение в событии onclick, оно будет показано.

<script language="javascript" type="text/javascript"> 
    function setVal(sender) { 
     var myVal = document.getElementById('<%=(DropDownList)CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("ddlSupplierCouncilArea")%>'); 
     ValidatorEnable(myVal, !sender.checked); 
     ValidatorValidate(myVal) 
    } 
</script> 

<asp:CheckBox runat="server" ID="cbxIsSupplier" Text="I wish to register as a Supplier in the" 
            OnClick="setVal(this)" /> 

<asp:DropDownList ID="ddlSupplierCouncilArea" runat="server"> 
            <asp:ListItem>[Please select]</asp:ListItem> 
            <asp:ListItem Value="blah1">blah1</asp:ListItem> 
            <asp:ListItem Value="Waimakariri">blah2</asp:ListItem> 
           </asp:DropDownList> 
           <div class="validators"> 
            <asp:RequiredFieldValidator ID="rfvCouncilArea" runat="server" InitialValue="[Please select]" 
             ControlToValidate="ddlCollectorCouncilArea" ErrorMessage="Select a Council Area" 
             Enabled="false" ToolTip="Select a council area" ValidationGroup="CreateUserWizard1">* required</asp:RequiredFieldValidator> 
           </div> 

ответ

0

Вы можете использовать дополнение Firebug для Firefox, чтобы отлаживать ваш код javascript, чтобы облегчить жизнь.

в любом случае вы можете переписать функцию как этот

 
function setVal(sender, drpClientID) 
{ 
    var myVal = document.getElementById(drpClientID); 
     ValidatorEnable(myVal, !sender.checked); 
     ValidatorValidate(myVal) 
} 

In asp.net code you should build your onclick attribute like this

 
cbxIsSupplier.Attributes.Add("onclick", "setVal(this, '" + ddlSupplierCouncilArea.ClientID + "')"); 

+1

Другой DEV решить это для меня с помощью JQuery, который, казалось, как лучший выбор. –

Смежные вопросы