簡體   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