編程(Programming)是編定程序的中文簡稱,就是讓計算機代碼解決某個問題,對某個計算體系規定一定的運算方式,使計算體系按照該計算方式運行,并最終得到相應結果的過程。為了使計算機能夠理解(understand)人的意圖,人類就必須將需解決的問題的思路、方法和手段通過計算機能夠理解的形式告訴計算機,使得計算機能夠根據人的指令一步一步去工作,完成某種特定的任務。這種人和計算體系之間交流的過程就是編程。 【實例名稱】 JS實現輸入框自動完成功能 【實例描述】 輸入框自動完成是目前比較熱門的一種技術,可利用AjaX技術實現無刷新提示功能。本例介紹這種技巧的原理。 【實例代碼】 <html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>標題頁-本站(www.xue51.com)</title>
</head>
<body>
<input onkeyup="showtips();if(event.keyCode==27)hideDiv();"
id=txt onkeydown='enterTips()'>(如:ShanDong)<br/>
<select id=sel style='display:none' onclick=viewTxt()
onkeydown='if(event.keyCode==13)viewTxt()'></select>
<script>
var city = new Array("Guangdong","Tianjing","Shanghai",
"Beijing","ShanDong","Shanxi","Hunan","shangdi");
var city2=new Array("廣東","天津","上海","北京","山東","陜西","湖南","上地");
function showtips(){
obj=event.srcElement;
//獲取操作對象
sel.length=0;
//列表框的長度
var len=city.length;
//數組的長度
var re=new RegExp("^"+obj.value,"i")
//正則表達式-搜索用戶輸入的值
var j=0
for(i=0;i<len;i++)
if(re.test(city[i])==true){
//如果存在搜索的值
sel.style.display='';
//顯示提示層
sel.add(new Option(city[i],city2[i]));j++}
//提示信息
sel.size = (j>1)?j:2;
} function enterTips(){
e=event.keyCode;
if(sel.style.display!='none'){
//如果提示層沒有隱藏
if(e==13)
event.srcElement.value=sel.value,sel.style.display='none';
//回車
if(e==40) sel.focus();
//使用下箭頭時,提示層獲得焦點
}
}
function viewTxt(){
txt.value=sel.value;
//顯示選擇的內容
hideDiv()
//隱藏提示層
}
function hideDiv(){
sel.style.display='none';
//隱藏提示層的顯示
txt.focus()
//文本框獲得焦點
}
document.onclick=function(){
//單擊窗體時,隱藏提示層
hideDiv()
}
</script>
</body>
</html>
【運行效果】  【難點剖析】 本例通過一個正則表達式完成了自動提示的功能。首先使用“new RegExp”創建了一個正則表達式“re”,然后使用正則的“test”方法,在現有的文本提示信息中查找匹配正則的數據。使用“sel.add”方法將搜索出的數據添加到列表中,并設置列表框為可見,這樣就實現了自動提示功能。 【源碼下載】 為了JS代碼的準確性,請點擊:JS實現輸入框自動完成功能 進行本實例源碼下載
使用編程語言寫的程序,由于每條指令都對應計算機一個特定的基本動作,所以程序占用內存少、執行效率高。 |