如何防止制表符等被粘贴到asp.net文本框中?

时间:2010-12-24 01:48:30

标签: asp.net textbox

我想要一个人们可以粘贴内容的asp.net文本框,它就像记事本一样,即不会输入格式或特殊字符。我将文本传递给Web服务,该服务操作它并将其转换为制表符分隔文件。我遇到的问题有时是人们从MS Word复制并粘贴该内容,甚至以某些方式将标签字符等传递给Web服务。我现在运行例程来删除这些信息,但如果网页上的文本框没有捕获除文本本身之外的任何内容,即可见字符(数字,字母,标点符号),那将会更容易。

是否有人建议使用不捕获格式和非可视字符的文本框?

谢谢。

1 个答案:

答案 0 :(得分:1)

简短回答

你不能。

答案很长

没有适用于所有浏览器的复制/粘贴javascript事件。支持有限,您可以在此处找到表格:http://www.quirksmode.org/dom/events/cutcopypaste.html

至于指定在input元素中接收的内容,你可以真正指定它。

我认为你有三种选择:

a)像其他人一样说并处理输入元素上的change事件。将更改时的值修改为条带和不需要的字符。 (<input onchange="return myFilterFunc(this)">

b)将丢失的焦点事件条挂钩输入中存在任何不需要的字符。 (<input onblur="return myFilterFunc(this);">

c)过滤表单提交(<form onsubmit="return myFilterFunc(this)">)。

您可以在此处找到所有javascript活动:http://www.comptechdoc.org/independent/web/cgi/javamanual/javaevents.html