У меня есть форма с содержит, среди прочего, 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 ..