在按钮客户端单击上从验证控件触发onclientclick和客户端验证

sur*_*ran 2 javascript asp.net onclientclick validation-controls

我在页面上有几个ASP文本框控件,添加了自定义验证器.我有保存按钮,它验证这些文本框.我刚刚添加了与文本框相同的验证组.

为了合并addtional要求,我为Save按钮添加了onClientClick函数.但很高兴发现由于验证组(验证器控件)而导致的验证未触发,而是调用onClientClick函数并调用服务器端Click事件.

Javascript代码

function ValidateInputs(source, args) {
            var regex = /^(-{0,1}\d{1,100})$/;
            if (args.Value.length < 1) {
                $("span[id$='spn_error']").html('Please Enter ' + $(source).attr("errormessage"));
                $("span[id$='spn_error']").show();
                args.IsValid = false;
                return;
            }
            else if (!regex.test(args.Value)) {
                $("span[id$='spn_error']").html($(source).attr("errormessage") + ' allows only numbers');
                $("span[id$='spn_error']").show();
                args.IsValid = false;
                return;
            }
            else {
                if ($("span[id$='spn_error']").html().indexOf($(source).attr("errormessage")) >= 0)
                    $("span[id$='spn_error']").hide();
                args.IsValid = true;
                return;
            }
        }

function isValidTracker() {
//Dummy Code Say Confirm button
return(confirm('Are you sure');)

}
Run Code Online (Sandbox Code Playgroud)

HTML代码

<span class="errormesg" runat="server" id="spn_error" style="display: none;
                        font-size: 9px;"></span>
<asp:TextBox ID="txtLastMonthCount" runat="server" CssClass="inputbox" Width="75px" autocomplete="off" onkeypress="return isNumberKey(event);" ValidationGroup="g1"></asp:TextBox>

<asp:CustomValidator ID="CVLastMonthCount" runat="server" ErrorMessage="Last Months Closing Count" Text="<img src='../images/alert.gif' alt='Please Enter Last Months Closing Count' title='Please Enter Last Months Closing Count' />" 
    ValidationGroup="g1" ClientValidationFunction="ValidateInputs" OnServerValidate="ValidateInputs" ControlToValidate="txtLastMonthCount" ValidateEmptyText="true"></asp:CustomValidator>

<asp:Button ID="btnSave" runat="server" Text="Save" CssClass="button" ValidationGroup="g1" OnClientClick="return isValidTracker();" OnClick="btnSave_Click" />
Run Code Online (Sandbox Code Playgroud)

请帮我找到触发onclientclick的解决方案和Save按钮点击的验证控件.

Yur*_*kiy 7

将OnClient点击从更改return isValidTracker()if (!isValidTracker()) return false;