2016-12-02 33 views
0

我正在開發asp.net應用程序,因爲我有一個頁面包含gridview文本框, 因爲我需要驗證以填充至少一個文本框中網格視圖。客戶端驗證的TextBox裏面的GridView控件使用Javascript或Jquery

我GOOGLE了很多頁面,但我發現只有複選框驗證像this, 當保存按鈕點擊,我需要驗證填寫在GridView的存款金額ATLEAST一個文本框..

enter image description here

取悅任何答案,將不勝感激..

回答

0
Use RequiredFieldValidator 


     <asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" ControlToValidate="txtAmount" ErrorMessage="Fill This"></asp:RequiredFieldValidator> 
+0

嗨傑克遜V何塞,上面的代碼將運行所有文本框,如果我只在一個文本框來輸入值,它不能接受,它要求在所有文本框,以填補價值,我需要的是當我只填寫一個文本框意味着它將被接受,如果我不填寫任何文本框意味着它應該消除「請輸入至少一個文本框」消息。 – Surya

+0

儘管此代碼片段可以解決問題,[包括解釋] (//meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers)確實有助於提高你的帖子的質量。請記住,您將來會爲讀者回答問題,而這些人可能不知道您的代碼建議的原因。也請儘量不要用解釋性註釋來擠佔代碼,這會降低代碼和解釋的可讀性! – kayess

0
<script type="text/javascript"> 
    function validateTextBox() { 
     //get target base & child control. 
     var TargetBaseControl = document.getElementById('<%=this.Gridview1.ClientID%>'); 
     var TargetChildControl1 = "txtDepositAmount"; 

     //get all the control of the type INPUT in the base control. 
     var Inputs = TargetBaseControl.getElementsByTagName("input"); 

     for (var n = 0; n < Inputs.length; ++n) 
      if (Inputs[n].type == 'text' && Inputs[n].id.indexOf(TargetChildControl1, 0) >= 0) 
       if (Inputs[n].value != "") return true; 

     alert('Enter Atleast One Deposit Amount!'); 
     return false; 
    } 
</script> 



<asp:ImageButton ID="btnSave" runat="server" ValidationGroup="valInsert" ImageUrl="~/images/save6.png" 
               Width="40px" Height="40px" OnClientClick="javascript:return validateTextBox();" OnClick="btnSave_Click" ToolTip="Save" /> 
0

您可以使用CustomValidator和jQuery來檢查至少一個文本框是否包含文本。

<asp:CustomValidator ID="CustomValidator1" runat="server" ErrorMessage="At least one TextBox is required" ClientValidationFunction="validateMyTextBoxes"></asp:CustomValidator> 

<script type="text/javascript"> 
    function validateMyTextBoxes(oSrc, args) { 
     var isValid = false; 
     $("#<%= GridView1.ClientID %> input[type=text]").each(function() { 
      if ($(this).val() != "") { 
       isValid = true; 
      } 
     }) 
     args.IsValid = isValid; 
    } 
</script> 
+0

嗨@VDWWD,如何在按鈕點擊事件中調用此函數.. – Surya

+0

您不需要。一旦點擊頁面上的按鈕,CustomValidator會觸發。您不必手動調用它。 – VDWWD

+0

但按鈕點擊事件時不會觸發。 – Surya