2012-05-17 30 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的我。