--------------------------------------------
Phone number : ________________________
Email Address : ________________________
You prefer to receive the notification by:
[ ] SMS [ ] Email
--------------------------------------------
这是我在 .aspx 页面中的内容(我无法发布图片),两个文本框和两个复选框。这些复选框是数据绑定(bind)复选框,其中“SMS”和“Email”是当前数据库中的两个可用值。
ckBxPreferredMethod.DataSource = dt;
ckBxPreferredMethod.DataTextField = "Text";
ckBxPreferredMethod.DataValueField = "Value";
ckBxPreferredMethod.DataBind();
我现在想做的是,使用自定义验证器和JavaScript(客户端验证),我想确保当且仅当用户选中短信和电子邮件复选框时,他们必须分别填写电话号码和电子邮件地址。如果他们不选中短信,则“电话号码”是可选字段。
我更擅长 C#,因为我更擅长 JavaScript,所以我使用以下方法在服务器端完成此操作没有问题:
protected void ckBxPreferredMethod_ServerValidate(object sender, ServerValidateEventArgs e)
{
if(ckBxPreferredMethod.SelectedValue == "1" && String.IsNullOrEmpty(txtHPNo.Text.Trim()))
{
e.IsValid = false;
CVemailAndSMS.ErrorMessage = "You need to enter your phone number if you want to receive by SMS";
}
if(ckBxPreferredMethod.SelectedValue == "2" && String.IsNullOrEmpty(txtEmail.Text.Trim()))
{
e.IsValid = false;
CVemailAndSMS.ErrorMessage = "You need to enter your email if you want to receive by email";
}
}
上面的方法效果很好。但由于我的程序更加复杂,我将不得不移动这个客户端。所以需要JavaScript。
如果这涉及静态复选框,我就不会有问题。但是使用数据绑定(bind)复选框列表,我不知道如何检查所选复选框的值。
谢谢。
最佳答案
您需要添加更多信息才能获得合适的答案。
尝试一下我认为您想开始研究使用 JavaScript 的条件验证。
请注意,如果您标记了“其他”,则只需输入文本?
不保证所使用的插件,但它应该为您指明正确的方向。
关于c# - 如何通过Javascript检查CheckBoxList的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16096328/