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> 

發現我的解決方案,做工精細