999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

客戶端和服務器端語言混合使用兩例

2008-12-31 00:00:00李志宏
網絡與信息 2008年7期

隨著全球信息網應用的普及,越來越多的公司、個人希望通過此傳播媒介發展業務。同時,對于系統的智能化、人性化設計要求也與日上升,JavaScript和動態頁面語言的混合應用也因此得以廣泛推廣。

JavaScript 是一種腳本語言,此語言可以被嵌入 HTML 的文件之中。透過JavaScript 回應用戶所觸發的事件 (如:form對象的輸入和檢測) 而不用任何的網絡來回傳輸資料。當使用者輸入一項資料時,它不用經過傳給服務器端 (server) 處理,再傳回來的過程,便可直接被客戶端 (client) 的應用程序處理。

運行JavaScript的載體是客戶端,不但可以讓系統實時的與用戶進行交互,而且因為避免了網絡的傳輸,大大地加快運行速度和減輕服務器的負擔。而JavaScript令人著迷的地方是:通過語言的編寫,控制整個頁面當中的所有對象。它可以控制包括表單對象、頁面字體內容、圖片位置等屬性,使得頁面更為絢麗。

Web網頁具備強大的功能,在短短的幾年之間得以迅速的發展,動態網頁可以通過鏈接數據庫,使頁面內容根據用戶信息和數據庫內容,對其進行內容控制。但由于動態頁面語言是屬于服務器端(server)語言,每一次數據交換都必須經過網絡傳送、服務器計算、數據回傳三個步驟。因此,經常會出現由于網絡的關系導致數據傳送的延誤、出錯等現象。

為了使頁面的智能化得以進一步提高,頁面能夠根據用戶事件進行實時回應,將客戶端和服務器端的語言相結合成為了網絡語言編寫的新動向。

方法如下圖:

首先由服務器端動態頁面語言,如ASP、JSP等對數據進行記錄集的綁定,調出所有相關數據庫的內容。數據經過傳送后,暫存在JavaScript動態生成的數組當中。JavaScript根據用戶觸發的事件和信息,對數組中內容進行篩選后通過語言控制顯示在頁面中。

下面,筆者就以兩個例子說明JavaScript與ASP(VBScript)相結合的使用方法。

1 檢測網絡新用戶

在網絡應用中,用戶經常使用“注冊”這一功能,如電子郵箱、論壇用戶名等。如何使新注冊的用戶名不與已有的用戶名相沖突,并且實時地對用戶進行提示,避免提交后方可檢測的麻煩呢?這就需要將兩種語言相結合,相互補足。

具體操作步驟:

(1) 綁定記錄集,將數據庫中的所有用戶名進行調出

建立數據庫鏈接類型,通過SQL語句對數據中的“nname”(用戶名)字段內容進行綁定。綁定記錄集名為“R1”。

<%set obj=server.CreateObject(\"ADODB.Connection\")

obj.ConnectionString=\"provider=Microsoft.jet.oledb.4.0;data source=\"server.mappath(\"/book.mdb\")

obj.open

set R1=server.CreateObject(\"ADODB.Recordset\")

ms=\"SELECT nnameFROM bpass \"

R1.open ms,obj,1%>

(2) 建立JavaScript中的數組

由于用戶名的數量未知,因此建立動態數組“k”。

接下來,使用ASP語句對記錄集R1進行遍歷,將所有記錄集字段nname內容存放在數組當中。

以t作為標識,使新建一個數組單元便存放一個用戶名。

<script language=\"javascript\">

var k = new Array();

<%t=0

while (not R1.eof) %>

k[<%= t %>] = new Array('<%= R1(\"nname\") %>')

<% t=t+1

R1.movenext

wend%>

(3) 檢測新用戶名

由用戶觸發事件,調用自定義函數。

把注冊新用戶名,即頁面中用戶名輸入框中的值(form1.textfield.value),跟所有數組單元中內容進行匹對。

若用戶名已存在,退出循環,并在指定位置當中顯示出錯提示,否則提示用戶名可用。

function s()

{for(i=1;i<=<%= R1.recordcount %>;i++)

{

if (k[i-1]==form1.textfield.value)

{

document.getElementById(\"kk\").innerHTML=\"出錯,該用戶名已經被占用\"

break;}else{

document.getElementById(\"kk\").innerHTML=\"可用\"

}}}</script>

2 二級級聯的下拉列表

表單中的下拉列表,可以讓用戶直觀、準確地選擇所需要的信息。可是,一旦數量較多時,逐一拉選檢查并非一個明智之舉。不但效率較低,而且用戶使用起來也顯得比較笨拙。

二級級聯的方法就是把所有的選項進行分類,讓用戶先選擇類型,然后再選擇具體目標。如對學校各位老師的姓名進行選擇時,因為人數較多,即使按姓名排列的方法也較費時間。使用二級級聯方法,可先按照各人所屬科室進行分組。用戶在使用的時候,首先在第一個下拉列表中選擇科室,第二個列表中立即刷新為所屬人員列表。這樣,使系統的利用效率得以大大地增強,對于用戶的使用也更具人性化。

由于所有人員資料已經全部綁定在記錄集并存放在JavaScript的動態數組中,當用戶重選所屬科組,瀏覽器也不需再經過服務器的數據傳輸,而直接在客戶端里便可以完成人員列表的更新,用戶能更加直觀、迅速、準確地選擇目標選項,這也是ASP和腳本語言相結合的優勢體現。

具體操作步驟:

(1) 綁定記錄集

將所有教師的姓名、科室取出,并綁定為記錄集。綁定方法與上例中的記錄集綁定方法一致,先建立數據庫的鏈接,再定義記錄集對象,最后執行SQL查詢語言“SELECT * from teachers”。

(2) 建立JavaScript中的二維動態數組

動態數組的建立方法與例一相同,不同之處在于本例中需要利用記錄集中的數據建立二維數組。如屬于筆者資料的二維數組內容為:subcat[177]=new Array(“計算機”,”李志宏”)。其一維內容“計算機”作為后面列表顯示內容的匹配條件,二維內容“李志宏”是作為第二列表的內容標簽和值。其中關鍵語句為二維數組的建立:

subcat[<%= t %>] = new Array('<%= R2(\"tkeshi\") %>','<%= R2(\"teaname\") %>')

(3) 人員列表更新函數

當用戶在列表一中選擇了科組后,觸發以下函數對人員列表內容進行更新:

function changeselect1(locationid)

{ document.form1.s2.length = 0;

document.form1.s2.options[0] = new Option('==請選擇==','');

for (i=0; i<subcat.length; i++)

{if (subcat[i][0] == locationid)

{document.form1.s2.options[document.form1.s2.length] = new Option(subcat[i][1], subcat[i][1]);}

}

}

循環動態數組,將一維內容與列表一傳送的參數locationid進行匹配,利用“new Option”命令把二維內容添加至列表二中,并設為當前選項的值。這樣,通過用戶所選取的科組內容,經過循環,腳本函數可以自動地給列表二更新內容。而這一切,完全由客戶端完成,免去了對數據庫的多次調用。

由服務器端語言負責數據庫的調用,客戶端語言負責與用戶交互。因此系統可以自動地根據用戶的事件進行即時的反應或提醒,使系統顯得更加“人性化”。而現今網絡使用管理中,“智能化”、“高效率”是今后網絡編程發展的大趨勢。因此怎樣通過結合各種不同的網絡編程語言來進行優化網頁的使用管理已成為我們共同關注的話題,而JavaScript與ASP(VBScript)相結合的使用亦成為我們解決實際難題的主要方法。

——————————

作者簡介:李志宏(1981-),廣州市人,于廣州第一商業中專學校任教師。主要研究方向:網頁制作、網站建設。

主站蜘蛛池模板: 啪啪啪亚洲无码| 国产人人射| 亚洲色图欧美在线| 国产在线欧美| 久久国产精品娇妻素人| 国产精品视频观看裸模| 久久狠狠色噜噜狠狠狠狠97视色 | 69精品在线观看| 亚洲欧洲AV一区二区三区| 国产欧美日韩综合在线第一| 999国产精品永久免费视频精品久久| 国产超碰一区二区三区| 亚洲精品无码不卡在线播放| 最新国产午夜精品视频成人| 精品视频一区在线观看| 视频在线观看一区二区| 亚国产欧美在线人成| 日韩不卡高清视频| 亚洲欧美不卡视频| 精品无码一区二区三区电影| 国产99免费视频| 99精品视频在线观看免费播放| 欧美日本在线一区二区三区 | 夜精品a一区二区三区| 国产成人精品男人的天堂| 久久综合亚洲鲁鲁九月天| 在线视频亚洲色图| 性做久久久久久久免费看| 成人看片欧美一区二区| 国产精品污视频| 国产精品.com| 114级毛片免费观看| 国产麻豆91网在线看| 欧美日韩国产高清一区二区三区| 九九九九热精品视频| 狼友av永久网站免费观看| 激情六月丁香婷婷| 国产无码高清视频不卡| 激情五月婷婷综合网| 亚洲另类国产欧美一区二区| 97精品久久久大香线焦| 久久这里只精品国产99热8| 亚洲天堂日韩在线| 美女啪啪无遮挡| 男女男免费视频网站国产| 国内嫩模私拍精品视频| AV色爱天堂网| 亚洲日韩国产精品无码专区| 国产电话自拍伊人| 亚洲IV视频免费在线光看| 最新日本中文字幕| 超碰91免费人妻| 欧美一道本| www.亚洲天堂| 老司机久久精品视频| 国产99视频在线| 国产网站免费观看| 真人免费一级毛片一区二区| 人妻丰满熟妇AV无码区| 无码'专区第一页| 国产日韩丝袜一二三区| 在线国产91| 中文字幕无码中文字幕有码在线 | 久久综合色视频| 婷婷综合在线观看丁香| 亚洲啪啪网| 中文字幕欧美日韩高清| 国产av无码日韩av无码网站 | 欧美人人干| 国产va在线观看| 呦系列视频一区二区三区| 欧美三级视频网站| 91免费观看视频| 白丝美女办公室高潮喷水视频 | 国产综合精品一区二区| 成人自拍视频在线观看| 国产一级毛片在线| 国产v精品成人免费视频71pao| 亚洲精品成人片在线播放| 中文国产成人精品久久一| 2022精品国偷自产免费观看| 五月天福利视频|