c# - 如何通过Javascript检查CheckBoxList的值

标签 c# javascript asp.net webforms checkboxlist

--------------------------------------------
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 的条件验证

@SEE:http://www.users.muohio.edu/klumbca/examples/conditional-validation-example.html?hearabout=Newspaper+Ad&hearabout_other=

请注意,如果您标记了“其他”,则只需输入文本?

不保证所使用的插件,但它应该为您指明正确的方向。

关于c# - 如何通过Javascript检查CheckBoxList的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16096328/

相关文章:

c# - 学习 monodevelop 并且无法显示消息框

c# - WPF 中的可移植类库 ICommand 编译错误——不确定如何适本地解决这个问题?

c# - 在导致错误的查询字符串中发送 Server.UrlEncoded XML

单击按钮调用它时未找到 Javascript 函数

javascript - 使用javascript从另一个弹出窗口打开一个新的弹出窗口

c# - ASP.net WebApi 发现与 URL 匹配的多个 Controller 类型

c# - 处理多语言支持的最佳方式?

c# - 是否可以使用反序列化进行构造函数注入(inject)?

javascript - 更改 JavaScript 中的日期格式

javascript - 我应该如何将 Svelte Reactivity 与 DOM getElementById 一起使用?