"wmi_cell_phone"というテキストボックスと "wmi_send_sms"というRadioButtonListを含むフォームがあります。 基本的には、選択したラジオの値が "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>
Buは動作するようには思えない
wmi_send_sms.Items(0).Value = "Y"
wmi_send_sms.Items(1).Value = "N"
マイバリここ
は私の.aspxコードです..私は間違った方法でRadioButtonListにアクセスしています。
にアクセスすることによって、あなたのバリデータでチェックされている場合はどうなりますか?そして、あなたは確認することができますか js関数をデバッグしましたか?バリデータのマークアップも投稿してください。 –
私はそれが何をすべきかをしていないことを意味する...ユーザーがRadioを "Yes"の値で選択し、TextBoxを空のままにした場合、TextBoxに値を入力するはずであることをユーザーに警告する必要がありますが、何もしません。 – Joe
if js関数が呼び出されますか?開発ツールを使用する:http://www.microsoft.com/downloads/en/details.aspx?FamilyID=95e06cbe-4940-4218-b75d-b8856fced535またはFireBug for Firefox:https://addons.mozilla.org/ en-US/firefox/addon/1843/ –