"wmi_cell_phone"이라는 TextBox와 RadioButtonList "wmi_send_sms"가 포함 된 양식이 있습니다. 기본적으로 선택한 라디오 값이 "Y"인지 확인하는 유효성 검사기를 만들어야합니다. 이 경우 TextBox 값이 비어 있는지 확인합니다. 비어 있으면 사용자에게 값을 입력해야 함을 알려야합니다.asp.net의 RadioButtonList 및 TextBox 값을 확인하는 CustomValidator에 문제가 발생했습니다.
<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) :
<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>
니어가 작동하지 않는 것
wmi_send_sms.Items(0).Value = "Y"
wmi_send_sms.Items(1).Value = "N"
내 검사기 여기
내에서 .aspx 코드 .. 어쩌면 내가 잘못된 방식으로 RadioButtonList에 액세스하고 있습니다.
에 액세스하여 유효성을 확인하는 경우
은 그럼 당신은 확인할 수 있나요? js 함수를 디버깅 했습니까? 또한 Validator의 마크 업을 게시하십시오. –
내 말은, 그것이하는 일을하고 있지 않다는 것입니다 ...사용자가 "예"값으로 Radio를 선택하고 TextBox를 비워두면 사용자에게 TextBox에 값을 입력해야한다고 알리려고하지만 아무 것도하지 않습니다. – Joe
if js 함수가 호출됩니까? ie를위한 개발자 도구를 사용하십시오 : http://www.microsoft.com/downloads/en/details.aspx?FamilyID=95e06cbe-4940-4218-b75d-b8856fced535 또는 Firefox 용 FireBug : https://addons.mozilla.org/ en-US/firefox/addon/1843/ –