【问题标题】:OnClientClick preventing OnClick event?OnClientClick 阻止 OnClick 事件?
【发布时间】:2012-10-25 07:31:00
【问题描述】:

我有一个按钮,我需要触发一个 onclick 事件和一个 onclientclick 事件。 onclientclick 是这样的:

(function($){
$.fn.validate = function()  {
    var option = $('#<%=LblWarnings.ClientID%>').html();   
        if (option == "option1_OK" ||
            option == "option1_OK")  
            alert(wrong);
        else {
            $('#<%=LblWarnings.ClientID%>').html("Incomplete");
            alert(wrong);}        
    };
})(jQuery);

验证函数,检查标签的文本,如果条件为真,它应该继续执行 OnClick 事件。如果它是假的,它不应该触发后面的代码(我的 .cs 文件中称为 WriteInfo 的方法,而只是更新一个标签,以便用户在提交数据时知道有问题。

onclientclick 是否可以停止 onclick 事件?如果是这样,您能否帮我提供 asp:button 语句,以便我可以触发这两个事件。

谢谢。

尝试 Adil Answer 后,我收到错误“预期对象”

也许我调用函数的方式有问题?

<asp:Button ID="ButtonRadioValue" CssClass="customButton" runat="server" onclick="WriteInfo" OnClientClick="validate();" Text="Accept" />

【问题讨论】:

    标签: c# jquery asp.net


    【解决方案1】:

    您可以使用 stopPropagation() 方法来停止返回 false 的回发。

    使用 stopPropagation();

     (function($){
        $.fn.validate = function(event)  {
            var option = $('#<%=LblWarnings.ClientID%>').html();   
                if (option == "option1_OK" ||
                    option == "option1_OK")  
                    alert(wrong);
                    event.stopPropagation();
                else {
                    $('#<%=LblWarnings.ClientID%>').html("Incomplete");
                    alert(wrong);}        
            };
        })(jQuery);
    

    使用 return false;

    (function($){
    $.fn.validate = function()  {
        var option = $('#<%=LblWarnings.ClientID%>').html();   
            if (option == "option1_OK" ||
                option == "option1_OK")  
                alert(wrong);
                return false;
            else {
                $('#<%=LblWarnings.ClientID%>').html("Incomplete");
                alert(wrong);}        
        };
    })(jQuery);
    

    【讨论】:

    • +1。为了好的答案。看起来虽然 OP 给出的代码很奇怪,因为我会假设如果选项正常,一切都很好(如果阻止)并且return false 在出现问题并且选项不正常(否则阻止)时发生。 OP 的代码看起来有点混乱,因为一切都在做alert(wrong)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-02
    • 1970-01-01
    • 2013-03-21
    相关资源
    最近更新 更多