一.首先來看一下什麼是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>標簽中,加入下面兩句:
<script type="text/Javascript" src="/path/to/SuggestFramework.JS"></script>
<script type="text/Javascript">window.onload = initializeSuggestFramework;</script>
有了上面兩句後,每個取了名的文本框會多出五個屬性:
1.action 必須。接受 GET 方式提交的數據,並返回相關 Javascript 數組的動態頁。
2.capture 如果返回的結果不止一列(比如本例中的單詞和中文意思),將要替換用戶輸入的那一列(從 1 開始算)。通常這個和數據庫字段相對應。
可選,默認為 1.
3.columns 下拉顯示的列數,比如本例中,按字母查詢單詞,並將中文意思顯示在右側。可選,默認為 1.
4.delay 查詢延時,單位為毫秒。較低的延時會得到更快的反應,但會加重服務器負擔。可選,默認為 1000(1秒)。
5.heading 如果設為 true ,第一個數組值將作為不可選擇項(標題欄)。當有兩列或兩列以上數據時非常有用。可選,默認為 false.
數據提交只需要兩個數據
1.type 輸入框的name
2.q 搜索關鍵字(默認UTF-8編碼)
您下載的壓縮包中,已經包含PHP和ColdFusion示例,當然這個框架可以適用於所有的編程語言,無平台限制。後台數據輸出就是一條 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 格式。