本文详细介绍Ajax基础教程(4)- 实现基本Ajax技术 4.9 提供自动完成
我们遇到的最受欢迎的功能之一就是自动完成。许多人都使用过Intuit的Quicken之类的工具,并对其注册表的功能很是着迷,它的注册表能根据以前的注册项填入信息。这就使得数据输入更快、更容易,而且不容易出错。对于胖客户应用,增加这个功能可能很容易,但是Web应用长期以来一直都没有这个特性[1]。不过,Google在其beta实验区推出Google Suggest后,证明了自动完成对于Web应用并非遥不可及。
Google Suggest实在让人赞叹不已(见图4-16)。它不仅很好地放置了下拉区,还会在输入框中自动插入最有可能的答案,并将非用户键入的部分置灰,在下拉区中甚至还能使用向上和向下箭头。由于为给定项提供了一些结果,用户就能更清楚地认识到具体完成搜索时可能会得到的结果。
许多网站都对Google Suggest做了剖析(可以在google上查Google Suggest!)。代码清单4-17所示的例子比不上Google Suggest那么丰富,但你确实能从中了解到利用Ajax可以做些什么。需要注意,在这个例子中,callback()函数除了查找一般的返回码200,还会查找返回码204。204响应码指示服务器没有发回任何信息,利用个提示可以清空名字下拉区。你还会注意到,通过点记法为单元格设置鼠标事件,这一点在前面的“为什么不能用setAttribute方法来设置Delete按钮的事件处理程序?”旁注中已经解释过。重申一次,使用calculateOffset()方法来确定应该把数据放在哪个位置。

来源:CSDN 责编:豆豆技术应用
正在加载评论...