• Asp.Net 之 禁用TextBox的记忆功能


      IE提供了一个自动完成功能可以记忆我们的输入内容(如登录帐号等),方便下一次快速地录入类似资料。这确实是一个非常友好的功能,在操作时只需用鼠标双击文本框或输入前几个字符,系统会自动列出以前的录入历史供你选择,大大提高录入速度及准确性。相信大多数IE的用户都启用了这项功能。

      然而作为网站开发者来说,并不希望什么资料都记忆在用户的电脑上(如银行帐号和其它重要的帐号及密码),但是我们又不能要求用户禁用自动完成的功能。幸好IE5.0后为 INPUT type=password, INPUT type=text, FORM 等控件加入了一个 AUTOCOMPLETE 的属性,要禁止控件自动完成功能,只需把AUTOCOMPLETE设为off即可,如:

      A 整个表单禁止自动完成

    <FORM method=post action="submit.asp" AUTOCOMPLETE="OFF">  

      B 禁止文本框自动完成

    <input type="text" name="creditcard" maxlength="16" AUTOCOMPLETE="OFF">

      C 在脚本中禁止自动完成

    function init(){ element.setAttribute("AutoComplete", "off");}  

      D 如果要禁止文本框使用输入法,可以把在它的样式中添加 ime-mode : disabled 即可,但是这样并不能禁止输入汉字,因为用户还是可

    以通过复制粘贴输入汉字的,如:

    <input type=text style="ime-mode: disabled ; " mce_style="ime-mode: disabled ; "> 

      微软的.NET PASSPORT 就是这样实现的,但是因该还会有其它的方法,因为在YAHOO 和 GMAIL的实现方法就不一样。

       TextBox控件有个看似很小但却常带来困扰的小“改良”,就是“自动完成”(AutoComplete)。何谓自动完成呢?也就是TextBox会记忆用户曾经输入过的文字,当下次再输入时就会自动提示相关字词,最常见的是用户登录网站时就会自动带出帐号密码。

      这个功能在最早被发明时大家觉得很方便很好用,但随着信息安全意识的加强,这个功能有时不但不讨人喜欢,反而有点令人厌恶,现在无论是在家中、网吧还是公司,多人共享一台计算机的机会很多,而也是由于TextBox的自动完成在作祟的缘故,他人要看你的E-mail甚至假借您的帐号登录网页并非难事,只要在TextBox中选取你的帐号后,密码通常会一并自动带出。

      如何解决呢,在ASP.NET 2.0的TextBox控件内置的 AutoCompleteType 属性可以轻易解决这个问题,只要将TextBox的AutoCompleteType设置为“Disable”后,自动完成提示便完全不会出现了。  

  • 相关阅读:
    013开发板系统安装准备
    012开发板串口连接
    011OK6410开发板介绍
    010GCC程序编译
    009Linux密码故障排除
    vue 中的solt的用法
    vue solt的应用场景
    Typescript 用接口模拟ajax请求
    Typescript方法重载实现系列二
    Typescript中方法重载的实现
  • 原文地址:https://www.cnblogs.com/xinaixia/p/7248652.html
Copyright © 2020-2023  润新知