2012-05-17 33 views
1

我現在用必填字段驗證,驗證文本框和提交按鈕我要問的確認的點擊,我用的confirm()Java腳本的功能。 問題是,當我按下確認框頁面後背上和所需的字段校驗確定,當我離開文本框留空不停止頁面。 從計算器我用自定義驗證停止網頁閱讀帖子後,但我不能在這裏是代碼。必填字段校驗器的JavaScript功能確認沒有驗證

<asp:RequiredFieldValidator ID="RequiredFieldValidator1" ControlToValidate="TextBox1" ValidationGroup="one" runat="server" ErrorMessage="RequiredFieldValidator"></asp:RequiredFieldValidator> 
    <asp:TextBox ID="TextBox1" runat="server" ValidationGroup="one"></asp:TextBox> 
    <asp:Button ID="Button1" runat="server" Text="Button" 
     OnClientClick="validate();" ValidationGroup="one" onclick="Button1_Click"/> 
    <asp:CustomValidator ID="CustomValidator1" ValidateEmptyText="true" runat="server" ValidationGroup="one" ErrorMessage="CustomValidator"></asp:CustomValidator> 

    <script type='text/javascript'> 
      function validate() { 
      var cv = document.getElementById('MainContent_CustomValidator1'); 
      if (cv) { 
       cv.isValid = confirm('are you sure want to update record ?'); 
      } 
    } </script> 
+0

沒有用於自定義驗證沒有驗證功能? –

回答

0

糾正你這樣的代碼

if(confirm('are you sure want to update record ?')==false){ 
    return false; 
} 

感謝。

1
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" ControlToValidate="TextBox1" ValidationGroup="one" runat="server" ErrorMessage="RequiredFieldValidator"></asp:RequiredFieldValidator> 
    <asp:TextBox ID="TextBox1" runat="server" ValidationGroup="one"></asp:TextBox> 
    <asp:Button ID="Button1" runat="server" Text="Button" 
     OnClientClick="return validate();" ValidationGroup="one" onclick="Button1_Click"/> 
    <asp:CustomValidator ID="CustomValidator1" ValidateEmptyText="true" runat="server" ValidationGroup="one" ErrorMessage="CustomValidator" ClientValidationFunction="TextBox1Client"></asp:CustomValidator> 

<script type='text/javascript'> 
     function validate() { 
      if(confirm('are you sure want to update record ?')){ 
      return true; 
      } 
      else 
      { 
      return false; 
      } 
     } 
//you need to add a custom validot client function also 
     function TextBox1Client(sender, args) { 
     //write your custom code here 
     args.IsValid = false; 
     //OR 
     args.IsValid =true; 
     } 
    </script> 
+0

我用你的模式和硬編碼的isValid = false,但它不是從後停止頁面追溯到這個功能TextBox1Client(發件人,參數){// 寫在這裏您的自定義代碼 args.IsValid = FALSE; } – Sameer

+0

確定除去**的OnClientClick = 「返回的validate();」 **按鈕一會兒和嘗試。並讓我知道結果 – Rab

0

試試這個代碼利用Page_ClientValidate

<asp:Button ID="Button1" runat="server" Text="Button" 
     OnClientClick="Javascript:if(Page_ClientValidate('one')){return validate();}" ValidationGroup="one" onclick="Button1_Click"/> 
0

JavaScript是大小寫敏感的,試試這個:

<asp:RequiredFieldValidator ID="RequiredFieldValidator1" ControlToValidate="TextBox1" ValidationGroup="one" runat="server" ErrorMessage="RequiredFieldValidator"></asp:RequiredFieldValidator> 
<asp:TextBox ID="TextBox1" runat="server" ValidationGroup="one"></asp:TextBox> 
<asp:Button ID="Button1" runat="server" Text="Button" 
    OnClientClick="validate();" ValidationGroup="one" onclick="Button1_Click"/> 
<asp:CustomValidator ID="CustomValidator1" ValidateEmptyText="true" runat="server" ValidationGroup="one" ErrorMessage="CustomValidator"></asp:CustomValidator> 

<script type='text/javascript'> 
     function validate() { 
     var cv = document.getElementById('MainContent_CustomValidator1'); 
     if (cv) { 
      cv.IsValid = confirm('Are you sure want to update record?'); 
     } 
} </script> 

你沒有把握在的IsValid的我。