[英]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.