繁体   English   中英

使用javascript停止按钮OnClick事件

[英]Stopping button OnClick event with javascript

我试图在我的按钮的点击事件发生在服务器端之前运行一些javascript,但是javascript代码运行,并且服务器端代码在此之后运行,无论如何。 这就是我所拥有的:

<script type="text/javascript" language="javascript">
  $(document).ready(function() {
    SubmitClick = function() {
        if ($("#<%= fuFile.ClientID %>").val() == "") {
            $("#error").html("File is required");

            return false;
        }
    }
  });
</script>

<asp:FileUpload ID="fuFile" runat="server" />

<asp:Button ID="btnSubmit" runat="server" Text="Submit"
  OnClientClick="SubmitClick()" UseSubmitBehavior="false"
  OnClick="btnSubmit_Click" />

<span id="error"></span>

我认为设置UseSubmitBehavior="false"并在javascript函数中返回false会起作用,但事实并非如此。 在服务器端代码运行之前,我的错误消息会显示一秒钟。

我在这做错了什么?

通常要取消客户端单击,您将添加此return false;

您可以更新代码来执行此操作,它应该可以工作: OnClientClick="return SubmitClick();"

如果您使用的是JQuery:

$btn.on("click", function (e) {
    e.preventDefault();
}

对我UseSubmitBehavior是:删除OnClientClick="SubmitClick()"并将UseSubmitBehavior设置回true。

然后将$(document).ready()方法更改为

$(document).ready(function () {
    $('#btnSubmit').click(function () {
        if ($("#<%= fuFile.ClientID %>").val() == "") {
            $("#error").html("File is required");

            return false;
        }

        return true;
    });

});

您需要使用OnClientClick事件中的return返回已提交行为的取消。

尝试这个

OnClientClick="return SubmitClick()"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM