[英]How to prevent form double submit in form that have Validator?
我有具有帶有Validator
TextBox
Web表單:
<script src="../script/jquery-2.0.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
$("form").submit(function () {
$('input[type=submit]', this).attr('disabled', 'disabled');
});
});
</script>
<form id="form1" runat="server">
<asp:RequiredFieldValidator ID="v" runat="server" ControlToValidate="name" ErrorMessage="Required"></asp:RequiredFieldValidator>
<asp:TextBox ID="name" runat="server"></asp:TextBox>
<asp:Button ID="submit" runat="server" Text="Go" CausesValidation="true" />
</form>
我想在提交表單時禁用提交button
,但是當TextBox
由Validator
無效(為空)時,此代碼也禁用提交button
。
我想要一種用於所有ASP.NET驗證程序的方法,不僅是RequiredFieldValidator
。
如何僅在實際提交中禁用提交button
?
在禁用提交按鈕之前,請檢查全局Page_IsValid
變量是否設置為true
:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1.Default" %>
<!DOCTYPE html>
<html>
<head runat="server">
<title></title>
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-2.0.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
$("form").submit(function () {
if (Page_IsValid)
$('input[type=submit]', this).prop('disabled', true);
});
});
</script>
</head>
<body>
<form id="form1" runat="server">
<asp:RequiredFieldValidator ID="v" runat="server" ControlToValidate="name" ErrorMessage="Required"></asp:RequiredFieldValidator>
<asp:TextBox ID="name" runat="server"></asp:TextBox>
<asp:Button ID="submit" runat="server" Text="Go" CausesValidation="true" />
</form>
</body>
</html>
$(document).ready(function () {
$("form").submit(function (e) {
if($.trim($('#<%=name.ClientID%>').val()) !='' ){ //if textbox not empty
$('input[type=submit]', this).attr('disabled', 'disabled');
}else{
e.preventDefault();
}
});
});
您可以使用.prop()
$('input[type=submit]', this).prop('disabled', true);
protected void submit_Click(object sender, EventArgs e) {
if (name.Text != String.Empty) {
submit.Enabled = false;
} else {
submit.Enabled = true;
}
}
此代碼不帶Java腳本
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.