在这讲里,让我们看下如何在ASP.NET Textbox里禁止复制、剪切和粘贴行为。
当用户要输入一些密码、信用卡信息和银行账号等敏感信息,用户更希望手工通过键盘敲入数据,而好过通过剪贴板复制粘贴。
我们先来看下实现后的效果:
输入新密码 |
复制新密码出现如下对话框 |
界面代码 |
1 < body >
2 < form id ="form1" runat ="server" >
3 < div align ="center" >
4 < fieldset style ="width: 400px; height: 180px" >
5 < table cellpadding ="3" cellspacing ="3" border ="0" >
6 < tr >
7 < td colspan ="2" class ="header" >
8 修改密码
9 </ td >
10 </ tr >
11 < tr >
12 < td >
13 < asp:Label ID ="lblCurrentPwd" Text ="当前密码: " runat ="server" ></ asp:Label >
14 </ td >
15 < td >
16 < asp:TextBox ID ="txtCurrentPwd" Width ="200px" runat ="server" TextMode ="Password" ></ asp:TextBox >
17 </ td >
18 </ tr >
19 < tr >
20 < td >
21 < asp:Label ID ="lblNewPwd" Text ="新密码: " runat ="server" ></ asp:Label >
22 </ td >
23 < td >
24 < asp:TextBox ID ="txtNewPwd" Width ="200px" runat ="server" TextMode ="Password" ></ asp:TextBox >
25 </ td >
26 </ tr >
27 < tr >
28 < td >
29 < asp:Label ID ="lblConfirmNewPwd" Text ="确认新密码: " runat ="server" ></ asp:Label >
30 </ td >
31 < td >
32 < asp:TextBox ID ="txtConfirmNewPwd" Width ="200px" runat ="server" TextMode ="Password" ></ asp:TextBox >
33 </ td >
34 </ tr >
35 < tr >
36 < td >
37 </ td >
38 < td >
39 < asp:Button ID ="btnSubmit" runat ="server" Text ="提交" /> < asp:Button ID ="btnReset" runat ="server"
40 Text ="重置" />
41 </ td >
42 </ tr >
43 </ table >
44 </ fieldset >
45 </ div >
46 </ form >
47 </ body >
脚本代码 |
< head runat ="server" >
< title > Recipe3 </ title >
< script src ="Scripts/jquery-1.4.1-vsdoc.js" type ="text/javascript" ></ script >
< style type ="text/css" >
.header
{
background-color : Gray ;
font-weight : bold ;
font-size : large ;
}
</ style >
< script type ="text/javascript" >
$(document).ready( function () {
$( " input:password " ).bind( " copy cut paste " , function (e) { // 通过空格连续添加复制、剪切、粘贴事件
e.preventDefault(); // 阻止事件的默认行为
alert( " 复制/剪切/粘贴已经在文本框中禁止掉了 " );
});
});
</ script >
</ head >