2007-07-07

获取焦点便选中所有文本的文本框是用户友好的吗?

Views: 19209 | 6 Comments

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:

  1. 在Linux下玩Doom3
  2. 新泽西爱未眠(Jersy.Girl)
  3. ideablog 发布新版本 1.1
  4. Google Talk 界面开发分析
  5. “汉语编程”应该是个法律概念
Posted by ideawu at 2007-07-07 11:55:36 Tags:

6 Responses to "获取焦点便选中所有文本的文本框是用户友好的吗?"

  • 回复baidu:

    你言重了. 我现在回过来再看这篇文章时, 发现当时的理解到现在也有些改变. 而且这篇文章中的某些说法也会让人不快. Reply
  • ideawu 真的是一个很有想法的青年.

    我们应该提倡这种敢于质疑任何事物的态度 , 即使有时候会犯错误 Reply
  • 个人不同意你看法。你再点下鼠标左键就可以了,在需要修改全部文本内容时这下小小的点击就算不了什么了,在内容较多时自动选中文本更方便。 更重要的是绝大多数用户喜欢! Reply
  • 不一定是网站地址, 比如phpmyadmin的输入文本框就通过js实现了这种表现. 在数据输入时, 如果不需要完全输入, 而是在前项基础之上修改会非常方便. Reply
  • 同意楼上的,如果你是针对网站地址,那么可以试试这个ff扩展:



    http://blog.linuxgem.org/galeki/show/428.html Reply
  • 不同意你的看法,如果想输入新的网址,全部选中确实能提高速度。而且全部选中后,按 -> 箭头,可以定位在所有文本的后面。不能因为你的习惯而说别的设计是愚蠢的。 Reply

Leave a Comment