【问题标题】:Javascript Confirm not Stopping request from post back if pressed cancel?如果按下取消,Javascript确认不停止回发请求?
【发布时间】:2017-12-07 10:36:34
【问题描述】:

我正在使用带有 confirm() 消息框的 Javascript 函数,并且如果我在确认消息框上按取消但 ValidatorGroup 为真,那么它也不会阻止请求回发。

我想以这样一种方式实现,如果验证器组是 treu 但函数返回 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>

【问题讨论】:

  • 初始设置var retVal =false;
  • 不,它不起作用我在我的ValidateGroup 中有近 20 个控件,即SaveRequestGroup,如果我填写了所有这些控件,那么 ValidateGroup 为真,但在按钮单击时我检查了条件,如果选择取消如果我的 ValidateGroup 为 true 但 Javascript 函数返回 false 然后停止请求以获取回发,那么请求仍在回发有什么办法吗
  • 这个灵魂可能不是最终的解决方案,但它有效,因为我们想出了这样的情况: Sol:创建一个隐藏变量并尝试在 OnCLientClick 中调用 javascript 函数,如果你的 JS vaslidation 是true ,将该隐藏变量设置为true 并检查代码后面的状态以及您的validationfroup状态..
  • System.Web.HttpException 在尝试验证 HiddenField 时发生

标签: javascript asp.net validation confirm requiredfieldvalidator


【解决方案1】:
<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>

找到我的解决方案并且工作正常

【讨论】:

    猜你喜欢
    • 2011-08-15
    • 1970-01-01
    • 2010-10-30
    • 1970-01-01
    • 2013-01-29
    • 1970-01-01
    • 2013-08-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多