【问题标题】:How can I prevent tab characters etc. from being pasted into an asp.net textbox?如何防止制表符等被粘贴到 asp.net 文本框中?
【发布时间】:2010-12-24 01:48:29
【问题描述】:

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

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

谢谢。

【问题讨论】:

    标签: asp.net textbox


    【解决方案1】:

    简答

    你不能。

    长答案

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

    至于指定在输入元素中接收什么,你真的可以指定。

    在我看来,您有三个选择:

    a) 像其他人所说的那样处理输入元素上的更改事件。修改更改值以去除不需要的字符。 (<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

    【讨论】:

      猜你喜欢
      • 2013-02-25
      • 1970-01-01
      • 2017-03-04
      • 2021-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多