在.net程序系统中有时需要对文本框的输入做一些限定,比如禁用粘贴功能。
一般对文本框禁用快捷键Ctrl+C的粘贴功能以及右键的粘贴功能可试用JS代码实现。
可参考:
function click(e)
{
if (document.all)
{
if (event.button==1||event.button==2||event.button==3)
{
oncontextmenu='return false';
}
}
if (document.layers)
{
if (e.which == 3)
{
oncontextmenu='return false';
}
}
}
if (document.layers)
{
document.captureEvents(Event.MOUSEDOWN);
}
document.onmousedown=click;
document.oncontextmenu = new Function("return false;")
var trxdyel=true
var hotkey=17 /* hotkey即为热键的键值,是ASII码,这里99代表c键 */
if (document.layers)
document.captureEvents(Event.KEYDOWN)
function gogo(e)
{
if (document.layers)
{
if (e.which==hotkey && trxdyel)
{
alert('操作错误.或许是您按错键了!');
}
}
else if (document.all)
{
if (event.keyCode==hotkey&&trxdyel){ alert('操作错误.或许是您按错键了!'); }}
}
document.onkeydown=gogo
将以上JS代码写到JS文件中取名为xp.js并放入Script文件夹中,引用时需要注意设置Charset=“gb2312”,不然提示出的信息会是乱码。页面引用:
<script src="../Script/xp.js" type="text/javascript" charset="gb2312"></script>
实际上禁用文本框的粘贴功能系统提供了一个完美的解决方案。试用onpaste属性,让其返回假即可禁用此文本框的粘贴功能。
代码为:onpaste="return false;"
示例:input
<input onpaste="return false;" type="text" name="textfield" >
或者TextBox
<asp:TextBox ID="name" runat="server" onpaste="return false;" ></asp:TextBox>
如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛