|
Jul
07
|
Web表单和桌面程序中经常要用到文本输入框, 比如登录框中的用户名和密码输入. 在Web表单中, 文本框获取焦点后(鼠标点击或者Tab键切换), 其中的文本并不会被选中. 但是有一些人会画蛇添足, 在文本框获取焦点后将其中的文本全选中, 如 PHPMyAdmin. 听到画蛇添足这个贬义词, 你就知道我是反对这种作法, 下面我要分析该作法的错误之处.
例如, 当我在某个网站的登录框中输入 ideawu2, 然后点击登录. 事实上, 我的用户名是 ideawu, 只是一时笔误. 那么当我要修改时, 我当然是直接选中2后点击键盘上的Backspace键., 或者将光标定位到该文本框最后(这种操作方式比选中单个字符更容易), 然后点击键盘上的Backspace键. 如果你自作聪明地把所有的文本选中, 那么你是想让我把所有的文本删除再重新输入一遍吗? 即使是只更改一个字符?
从理论上讲, 该作法的错误根源是: 事物的状态不是凭空产生的, 而是从一个状态到另一个状态, 而且后一个状态一般是以前一个状态为基础的改变.
我有理由相信这种愚蠢的作法源于Windows操作系统的文本框的默认行为, 这种文本框最重要地应用是资源浏览器和IE的地址栏. 在Linux操作系统下的Gnome中的文本框就不会有这种行为. 所以, 当我在Windows下使用浏览器浏览网页, 想在地址栏中输入一个新的网址时, 比如, 当前我正在浏览 http://www.ideawu.net/, 因为某种原因, 页面上并没有提供到 http://www.ideawu.net/ideablog/ 的链接, 最简便的作法是把光标定位在网址的末尾, 然后输入 ideablog 回车. 但是, 在Windows下我根本无法这样做! 无论我点住鼠标同时把鼠标上, 下, 左(至少会选中一个字符), 右移动, 都无法把光标定位在网址的末尾, 这让我很苦恼.
奇怪的是, Windows的IE使用这种文本框的默认行为, 而Firefox的Windows版本的地址栏为什么也使用这种默认行为?
我常想, 微软是不是应该改变Windows文本框的这个愚蠢的默认行为? Web开发者能不能放弃这个愚蠢的作法?
Related posts:
6 Responses to “获取焦点便选中所有文本的文本框是用户友好的吗?”
Pages:
Leave a Reply

2007-08-14 at 13:19:06
不同意你的看法,如果想输入新的网址,全部选中确实能提高速度。而且全部选中后,按 -> 箭头,可以定位在所有文本的后面。不能因为你的习惯而说别的设计是愚蠢的。
2007-09-21 at 21:54:37
同意楼上的,如果你是针对网站地址,那么可以试试这个ff扩展:
http://blog.linuxgem.org/galeki/show/428.html
2007-09-21 at 22:23:17
不一定是网站地址, 比如phpmyadmin的输入文本框就通过js实现了这种表现. 在数据输入时, 如果不需要完全输入, 而是在前项基础之上修改会非常方便.
2008-05-14 at 11:14:53
个人不同意你看法。你再点下鼠标左键就可以了,在需要修改全部文本内容时这下小小的点击就算不了什么了,在内容较多时自动选中文本更方便。 更重要的是绝大多数用户喜欢!
2008-05-19 at 17:02:35
ideawu 真的是一个很有想法的青年.
我们应该提倡这种敢于质疑任何事物的态度 , 即使有时候会犯错误
2008-05-19 at 17:31:48
回复baidu:
你言重了. 我现在回过来再看这篇文章时, 发现当时的理解到现在也有些改变. 而且这篇文章中的某些说法也会让人不快.