asp.net下按钮点击后禁用的实现代码
asp.net下按钮点击后禁用的实现代码
发布时间:2016-12-29 来源:查字典编辑
摘要:一、让按钮在点击后用脚本使其禁用:复制代码代码如下:functionenableButton(flag){$("#btnTest").att...

一、让按钮在点击后用脚本使其禁用:

复制代码 代码如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="DisableButton.WebForm1" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

<title></title>

<script type="text/javascript" src="Scripts/jquery-1.4.1.min.js"></script>

<script type="text/javascript">

function enableButton(flag) {

$("#btnTest").attr("disabled", flag? "" : "disabled");

}

$(document).ready(

function () {

$("#btnTest").click(

function () {

enableButton( false );//点击后禁用

}

);

}

);

</script>

</head>

<body>

<form id="form1" runat="server">

<div>

<asp:Button ID="btnTest" Text="点击后禁用" runat="server" />

</div>

</form>

</body>

</html>

然而事实很遗憾的告诉我们这种方式行不通:页面根本不会回发。于是,我们不得不寻找其他方式。

复制代码 代码如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="DisableButton.WebForm1" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

<title></title>

<script type="text/javascript" src="Scripts/jquery-1.4.1.min.js"></script>

<script type="text/javascript">

function enableButton(flag) {

$("#btnTest").attr("disabled", flag? "" : "disabled");

}

$(document).ready(

function () {

$("#btnTest").click(

function () {

enableButton(false);

$("#btnTest2").click();//禁用掉自身并调用真正触发回发的按钮的click事件

}

);

}

);

</script>

</head>

<body>

<form id="form1" runat="server">

<div>

<input type="button" value="点击后禁用" id="btnTest" />

<asp:Button ID="btnTest2" Text="点击后禁用" runat="server"/>

</div>

</form>

</body>

</html>

这样一来我们的目的达到了。最后再介绍一种方式:三、利用setTimeout实现

复制代码 代码如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="DisableButton.WebForm1" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

<title></title>

<script type="text/javascript" src="Scripts/jquery-1.4.1.min.js"></script>

<script type="text/javascript">

function enableButton(flag) {

$("#btnTest").attr("disabled", flag? "" : "disabled");

}

$(document).ready(

function () {

$("#btnTest").click(

function () {

setTimeout(function () {

enableButton(false);

},

50);

}

);

}

);

</script>

</head>

<body>

<form id="form1" runat="server">

<div>

<asp:Button ID="btnTest" Text="点击后禁用" runat="server"/>

</div>

</form>

</body>

</html>

这样不用引入辅助控件我们也实现了需求。

注:为了更好的观察试验效果,可以在按钮的Click时间处理函数中Sleep几秒。

当然可以使用 jquery 的 unbind 与 bind 函数实现对它的click 事件移除或者添加操作.

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新asp.net教程学习
热门asp.net教程学习
编程开发子分类