输入提示框架
(suggest framework)version0.31 使用说明
该框架的官方下载地址:http://sourceforge.net/project/showfiles.php?group_id=145701
先来看一下效果图:
一. 首先来看一下什么是suggest framework
Suggest Framework 故名思意,就是仿 Google Suggest 的一个小框架,让你的文本框也有提示功能。利用suggest framework你可以在自己的网站上很轻松实现“输入提示”效果,这种效果会很大程度上提高用户体验,提高搜索效率。
一个页面上可以出现多个搜索框,每个搜索框都可以实现单独配置。
此框架无浏览器限制,基本兼容当前的绝大多数浏览器,包括Internet Explorer 5 (Win/Mac)、Firefox (Win/Mac)、Opera 8 等等。
二. .下面来介绍一下怎么安装
你只需要复制SuggestFramework.js到你的服务器,然后自定义提示效果的css样式,实现个性的搜索提示。
而css样式文件,需要你自己做好,并且加入到每一个页面。
补充:SuggestFramework.js已经试用Dojo ShrinkSafe进行压缩,具体请看http://alex.dojotoolkit.org/shrinksafe/
三. .然后介绍一下如何使用
在网页的<head></head>标签中,加入下面两句:
再加上自定义的样式:
<link href="SuggestFramework.css" rel="stylesheet" type="text/css">
在页面中加入js框架及onload方法后,每个取了名的文本框会多出五个属性:
在静态页面中,则可以如此写成:
<table>
<tr><td>
搜索条件提示:</td><td><input id="userName" name="userName" type="text" action="/servlet/suggest.do" columns="2" capture="2"/></td>
</td></tr>
</table>
技巧说明:为了更好地定位提示信息的显示位置,最好就把文件输入框单独放到一个<td></td>中。
参数action可以接地址,并返回相关 Javascript 数组的动态页。格式如下:
一维数组这么写:
new Array(”val1″, “val2″, “val3″);
二维数组这么写:
new Array(
new Array(”第1行条第1列”, “第1行第2列”),
new Array(”第2行条第1列”, “第1行条第2列”),
new Array(”第3行条第1列”, “第1行条第2列”)
);
注意,在二维数组中,最后一行是没有逗号结束的。
最后介绍一下,css中需要定义的4个类
.SuggestFramework_List 提示内容所在区域
.SuggestFramework_Heading 第一条提示
.SuggestFramework_Highlighted 设置高亮的一条提示
.SuggestFramework_Normal 其他提示
例:
四. 提示,如果出现乱码或者javascript脚本错误请用下面方法解决。
1. 给后台返回数据的页面(例如display.asp) 添加一个 GB2312 转 UTF-8 的函数,使用此函数把数据库读出来的内容转成 UTF-8 编码。
2. 如果是后台为asp页面,代码首行添加 <[email=%@LANGUAGE=”VBSCRIPT]%@LANGUAGE=”VBSCRIPT[/email]” CODEPAGE=”936″%> 指令。
3. 把后台返回数据的页面(例如display.asp)文件存成 UTF-8 格式。
五. 参数接收:
1.type 输入框的name
2.q 搜索关键字(默认UTF-8编码)
举例来说,要接收文本输入的值,在servlet编程中,则先要设置接收编码,如:
request.setCharacterEncoding("UTF-8");
request.getParameter("q");
六. 静态页面举例:
搜索页面:
则backend.htm页面写成:
new Array(
new Array("李四","男"),
new Array("李明","男")
);
为了能够正常显示中文,backend.htm文件必须保存为utf-8编码。
在此例中,无论文本框输入什么值,都会返回李四 男 李明 男。因此,要做成动态的效果,就必须写后台程序,动态改变bacdend.htm的值。
特别说明:例子必须在服务器中才能正常运行。