【问题标题】:I want to enable caps lock from code behind and lock it till i want我想从后面的代码中启用大写锁定并将其锁定直到我想要
【发布时间】:2012-08-30 01:35:41
【问题描述】:

我正在处理一个表单,并希望用户只在字段中输入大写字母。我已经为此提供了正则表达式验证器。但是为了让用户的生活更轻松,我想从后端启用大写锁定并且还想要一直到我想要为止。我搜索但无处可去。我只能设法知道大写锁定的状态。提前感谢朋友。

【问题讨论】:

  • 我不确定这在浏览器中是否可行。事实上,如果是的话,我会有点害怕。
  • 为什么不把他们输入的每个字符都转换成大写呢?
  • 不允许控制用户键盘,这不是您应该关注的。如果您有一个只能大写的字段,为什么不不区分大小写?
  • 我认为这可能是您问题的答案 [stackoverflow.com/questions/202368/…
  • 除了这里已经提出的优秀观点 - 如果用户在使用这种“强制大写锁定”模式键入时持有shift 怎么办? - 你仍然会得到小写输入。

标签: c# asp.net


【解决方案1】:

您无法从网页启用 Caps Lock。

您需要做的是在用户输入时使用 Java Script 函数将字母大写。

您可以找到详细信息here


我把这个例子放到了我的回答中:

<script>
 function uppercase() {
     key = window.event.keyCode;
     if ((key > 0x60) && (key < 0x7B))
         window.event.keyCode = key-0x20;
 }
</script>

<input type="text" onKeypress="uppercase();" />

【讨论】:

    【解决方案2】:

    为了方便用户,您应该将所有输入的字符转换为大写。 如果您强制用户保持 CAPS 锁定,那么对于用户的其他工作,它将始终处于打开状态;这很危险。

    要将字母转换为大写,可以制作文本框样式:

    style="text-transform:uppercase;
    

    或者

    从这个问题中获得帮助... How can I force input to uppercase in an ASP.NET textbox?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-25
      • 1970-01-01
      • 2019-11-17
      • 1970-01-01
      • 2023-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多