1

我有一个按钮,我需要触发一个 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" />
4

1 回答 1

4

您可以使用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);

使用返回假;

(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);
于 2012-11-05T12:55:50.963 回答