2

我正在使用Javascript功能与confirm()消息框,也有RequiredFieldValidator如果我按下取消我的确认消息框但ValidatorGroup是真的,那么它不会停止获取回发请求。Javascript确认没有停止发回的请求,如果按下取消?

我想以这样的方式,如果validatorGroup是诚实信用,但函数返回false,则请求不应该得到后实施回

这里是我的代码: -

<asp:Button ID="btnStaffSendRequest" runat="server" Text="Send" OnClientClick="UploadRefrrel()" 
         UseSubmitBehavior="false" ValidationGroup="SaveRequestGroup" OnClick="btnStaffSendRequest_OnClick" 
         TabIndex="1000" /> 

这里是我的javascript函数: -

<script language="javascript" type="text/javascript"> 

          function UploadRefrrel() { 
           var hiddenFile = this.document.getElementById("<%= hfInputForm.ClientID %>"); 
           var upload = $find("<%= radUploadFiles.ClientID %>"); 
           var inputs = upload.getUploadedFiles(); 
           var retVal; 
           if (hiddenFile != null && hiddenFile.value != "" && inputs.length == 0) { 
            retVal = confirm("FYI - Only 'Referral Form' is attached. Do you want to proceed without any other attachment?"); 
           } 
           return retVal; 
          } 
         </script> 
+1

最初设置'var retVal = false;' – Webruster

+0

没有它的不工作我在我的'ValidateGroup'中有近20个控件是'SaveRequestGroup',如果我填充了所有它们,那么ValidateGroup是true,但是在Button Click我检查条件和如果选择取消仍然请求发回有没有什么办法,如果我的ValidateGroup是真实的,但JavaScript函数返回false然后停止请求回发 –

+0

这soultion可能不是确定的解决方案,但它的工作原理,因为我们想出了这样的情况:Sol:创建一个隐藏变量,并尝试在OnCLientClick中调用javascript函数,如果您的JS vaslidation为“true”,则将该隐藏变量设置为“true”,并检查代码中的状态以及验证组状态。 – Webruster

回答

2
<asp:CustomValidator ID="validatePostBack" runat="server" Display="None" ClientValidationFunction="Validate_PostBack" 
         ValidationGroup="SaveRequestGroup" ErrorMessage="<br /> Please add other attachment."></asp:CustomValidator>     
        <telerik:RadScriptBlock ID="uploadReferel" runat="server"> 
        <script language="javascript" type="text/javascript"> 
         function Validate_PostBack(sender, e) { 
          var hiddenFile = this.document.getElementById("<%= hfInputForm.ClientID %>"); 
          var upload = $find("<%= radUploadFiles.ClientID %>"); 
          var inputs = upload.getUploadedFiles(); 

          if (hiddenFile != null && hiddenFile.value != "" && inputs.length == 0) { 
           var retVal = confirm("FYI - Only 'Referral Form' is attached. Do you want to proceed without any other attachment?"); 
           if (retVal == true) { 
            e.IsValid = true; 
           } 
           else { 
            e.IsValid = false; 
           } 
          } 
         } 
        </script> 
        </telerik:RadScriptBlock> 

发现我的解决方案,做工精细