--------------------------------------------
Phone number : ________________________
Email Address : ________________________
You prefer to receive the notification by:
[ ] SMS [ ] Email
--------------------------------------------
下面是我在.aspx頁面(我無法發佈圖片),兩個文本框和兩個複選框。這些複選框是數據綁定的複選框,其中「SMS」和「電子郵件」是當前數據庫中的兩個可用值。如何使用Javascript檢查CheckBoxList的值
ckBxPreferredMethod.DataSource = dt;
ckBxPreferredMethod.DataTextField = "Text";
ckBxPreferredMethod.DataValueField = "Value";
ckBxPreferredMethod.DataBind();
我想現在要做的是,用的CustomValidator,和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是必需的。
如果這涉及靜態複選框,我不會有問題。但與數據綁定checkboxlist我只是失去了我將如何能夠檢查所選複選框的值。
謝謝。
你的問題有點混亂。因爲你的數據綁定到文本字段,而不是複選框。您始終可以使用html複選框和JavaScript來檢查它們是否被選中。 –