2010-10-01 70 views
4

我有一個gridview/FormView控件,主/從關係回事。模式彈出窗口中的客戶端驗證?

當我點擊我的FormView控件(項目模板)按鈕,我顯示ajaxcontroltoolkit模式彈出。

在這個彈出有一個文本框(數,實際上)。我想要驗證這個文本數據(至少六位數字,到目前爲止,我使用正則表達式驗證)之前,我解僱彈出。

的驗證工作,但我仍然可以通過單擊確定關閉該表格。我想要做的是在彈出窗口中的ok按鈕被禁用,直到數據良好。

我曾嘗試在JavaScript中的一些東西擺弄,但我不能讓它工作,因爲似乎是關於一個FormView控件發現一些問題。

任何想法?

在此先感謝。

回答

3

沒有回傳

您應該能夠使用JavaScript中的下列方法查找控制:

$document.getElementById('<%=btnSubmitForm.ClientID%>').disabled = true; 

如果您使用的RegularExpressionValidator,本次論壇提出了一種快速的(雖然哈克)方式來檢查並查看您的表單是否有效,而不進行回傳: http://forums.asp.net/t/1114240.aspx

隨着帖子返回

您可以將提交按鈕放入其自己的UpdatePanel中(如果它尚未在其中),並在後面的代碼中啓用/禁用它,具體取決於驗證器的IsValid屬性的值。

如果無法得到啓用/禁用功能的工作,你可以簡單地保持模式開放的,所以直到他們進入有效輸入用戶無法將其關閉或單擊取消:

protected void BtnSubmitClick(object sender, EventArgs e) 
{ 
    if (!regexValidator.IsValid) 
    { 
     modalPopupExtender.Show(); 
    } 
}