У меня есть форма, содержащая, среди прочего, TextBox с именем "wmi_cell_phone" и RadioButtonList "wmi_send_sms". По сути, мне нужно создать валидатор, который проверяет, является ли значение выбранного радио «Y». Если это так, то он проверяет, является ли значение TextBox пустым или нет. Если он пуст, то он должен уведомить пользователя о необходимости ввести значение.
Вот мой код .aspx:
<asp:TextBox ID="wmi_cell_phone" runat="server" MaxLength="100" Width="200px"></asp:TextBox>
<asp:RadioButtonList ID="wmi_send_sms" RepeatDirection="Horizontal" runat="server" Width="140px" CssClass="radio"></asp:RadioButtonList>
и код программной части (VB):
wmi_send_sms.Items(0).Value = "Y"
wmi_send_sms.Items(1).Value = "N"
Мой валидатор
<asp:CustomValidator ID="val_wmi_send_sms" runat="server"
ClientValidationFunction="ValidateSMS"
Display= "Dynamic"
ErrorMessage="Please enter a valid phone number."> </asp:CustomValidator>
<script language="javascript" type="text/javascript">
function ValidateSMS(Source, args)
{
var smsRadio = document.getElementsByName('<%= wmi_send_sms.ClientID %>');
var cellphone = document.getElementById('<%= wmi_cell_phone.ClientID %>');
for (var x = 0; x < smsRadio.length; x ++)
{
if (smsRadio[x].checked)
{
if (smsRadio[x].value == "Y")
{
if (cellphone.value == "")
args.IsValid = false;
else
args.IsValid = true;
}
}
}
}
</script>
Но, похоже, это не работает. Возможно, я неправильно обращаюсь к RadioButtonList.
it doesn't seem to work
? Вы отладили js-функцию? Опубликуйте также разметку вашего валидатора. - person Tim Schmelter   schedule 20.11.2010