然而做为网站开发者来说, 并不希望什么资料都记忆在用户的电脑上(如银行帐号和其它重要的帐号及密码), 但是我们又不能要求用户禁用自动完成的功能. 幸好ie5.0后为 input type=password, input type=text, form 等控件加入了一个 autocomplete的属性,要禁止控件自动完成功能,只需把autocomplete设为off即可,如:
整个表单禁止自动完成
代码如下:
<form method=post action=submit.asp autocomplete=off>
禁止文本框自动完成
代码如下:
<input type=text name=creditcard maxlength=16 autocomplete=off>
在脚本中禁止自动完成
代码如下:
function init()
{
element.setattribute(autocomplete, off);
}
另外,如果要禁止文本框使用输入法,可以把在它的样式中添加 ime-mode : disabled 即可,但是这样并不能禁止输入汉字,因为用户还是可以通过复制粘贴输入汉字的.如:
代码如下:
<input type=text style=ime-mode: disabled ; >
微软的.net passport 就是这样实现的,但是因该还会有其它的方法,因为在yahoo 和 gmail的实现方法就不一样。
.net中textbox 控件有什么新鲜内容?嗯!有个看似很小但却常带来困扰的小“改良”,就是“自动完成”(autocomplete)。何谓自动完成呢?也就是 textbox会记忆用户曾经输入过的文字,当下次再输入时就会自动提示相关字词,最常见的是用户登录网站时就会自动带出帐号密码。
这个功 能在最早被发明时大家觉得很方便很好用,但随着信息安全意识的加强,这个功能有时不但不讨人喜欢,反而有点令人厌恶,为什么呢?现在无论是在家中、网吧还 是公司,多人共享一台计算机的机会很多,而也是由于textbox的自动完成在作祟的缘故,他人要看你的e-mail甚至假借您的帐号登录网页并非难事, 只要在textbox中选取你的帐号后,密码通常会一并自动带出。
关于这个恼人的问题,我接连被朋友问道该如何解决。在asp.net 2.0的textbox控件内置的autocompletetype属性可以轻易解决这个问题,只要将textbox的autocompletetype 设置为“disable”后,自动完成提示便完全不会出现了。
更多信息请查看IT技术专栏