Javascript 如果选中复选框,则验证DropDownList
ASP.NET3.5WebForms。只有选中复选框时,我才尝试将验证器放在下拉列表中 这不管用。如果我在onclick事件中添加了一个警报,它确实会显示出来Javascript 如果选中复选框,则验证DropDownList,javascript,asp.net,Javascript,Asp.net,ASP.NET3.5WebForms。只有选中复选框时,我才尝试将验证器放在下拉列表中 这不管用。如果我在onclick事件中添加了一个警报,它确实会显示出来 <script language="javascript" type="text/javascript"> function setVal(sender) { var myVal = document.getElementById('<%=(DropDownList)CreateUserWizar
<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>
函数setVal(发送方){
var myVal=document.getElementById(“”);
ValidatorEnable(myVal,!sender.checked);
验证器验证(myVal)
}
[请选择]
胡说八道
废话
*必需的
您可以使用Firefox的Firebug插件来调试javascript代码,这会让您的生活更轻松
无论如何,你可以像这样重写你的函数
函数setVal(发送方,drpClientID)
{
var myVal=document.getElementById(drpClientID);
ValidatorEnable(myVal,!sender.checked);
验证器验证(myVal)
}
在asp.net代码中,应该像这样构建onclick属性
添加(“onclick”,“setVal(this,“+ddlSupplierCouncilArea.ClientID+”)”;
另一个开发人员使用jquery为我解决了这个问题,这似乎是一个更好的选择。
function setVal(sender, drpClientID)
{
var myVal = document.getElementById(drpClientID);
ValidatorEnable(myVal, !sender.checked);
ValidatorValidate(myVal)
}
cbxIsSupplier.Attributes.Add("onclick", "setVal(this, '" + ddlSupplierCouncilArea.ClientID + "')");