<< Chapter < Page | Chapter >> Page > |
// on IE, we have to use ActiveX
ro = new ActiveXObject("Microsoft.XMLHTTP");
} else {
// on every other browser, we can directly create a new XMLHttpRequest object
ro = new XMLHttpRequest();
}
return ro;
}
var http = createRequestObject();
// this function should be called for user input
// the response in this case is formatted as follows:
// object|text
// where object is the id of the HTML element we are going to update
// and text is what it will be updated to
// this could obviously work a lot better with some XML
function handleResponse()
{
if(http.readyState == 4) {
var response = http.responseText;
var update = new Array();
if(response.indexOf('|' != -1)) {
update = response.split("|");
document.getElementById(update[0]).innerHTML = update[1];
}
}
}
// this function should be called for user input
// it opens up the usercheck.asp page with a querystring of 'action'
function sndUserCheck(action)
{
http.open("get", "searchMeaning.asp?formWord=" + action);
http.onreadystatechange = handleResponse;
http.send(null);
}
//Gets the browser specific XmlHttpRequest Object
function getXmlHttpRequestObject() {
if (window.XMLHttpRequest) {
return new XMLHttpRequest();
} else if(window.ActiveXObject) {
return new ActiveXObject("Microsoft.XMLHTTP");
} else {
alert("Your Browser Sucks!\nIt's about formWorde to upgrade don't you think?");
}
}
//Our XmlHttpRequest object to get the auto suggest
var searchReq = getXmlHttpRequestObject();
//Called from keyup on the search textbox.
//Starts the AJAX request.
function searchSuggest() {
if (searchReq.readyState == 4 || searchReq.readyState == 0) {
var str = escape(document.getElementById('formWord').value);
searchReq.open("GET", 'searchSuggest.asp?formWord=' + str, true);
searchReq.onreadystatechange = handleSearchSuggest;
searchReq.send(null);
}
}
//Called when the AJAX response is returned.
function handleSearchSuggest() {
if (searchReq.readyState == 4) {
var ss = document.getElementById('search_suggest')
ss.innerHTML = '';
var str = searchReq.responseText.split("<br>");
for(i=0; i<str.length - 1; i++) {
//Build our element string. This is cleaner using the DOM, but
//IE doesn't support dynamically added attributes.
var suggest = '<div onmouseover="javascript:suggestOver(this);" ';
suggest += 'onmouseout="javascript:suggestOut(this);" ';
suggest += 'onclick="javascript:setSearch(this.innerHTML);" ';
suggest += 'class="suggest_link">' + str[i] + '</div>';
ss.innerHTML += suggest;
}
}
}
//Mouse over function
function suggestOver(div_value) {
div_value.className = 'suggest_link_over';
}
//Mouse out function
function suggestOut(div_value) {
div_value.className = 'suggest_link';
}
//Click function
function setSearch(value) {
document.getElementById('formWord').value = value;
document.getElementById('search_suggest').innerHTML = '';
}
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Module tu dien</title>
</head>
<%
//Writen by Minhdn
//Lay bien search bang request, sau do search trong CSDL
//nhung dong nao co title like bien search thi lay ra
%>
<!--#include file="connection.asp"-->
<%///Make sure that a value was sent.
formWord=request("formWord")
//Get every page title for the site.
if len(formWord)>=1 then
str = "SELECT * FROM dictionary WHERE word like '"&formWord&"%' ORDER BY word"
rs.open str,conn
do until rs.eof%>
<%=rs("word")%><br>
<%rs.movenext
loop
rs.close
set rs=nothing
end if
%>
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
dim strConn, dbConn, RS
set dbconn= server.createObject("ADODB.connection")
dbConn.Open "PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.Mappath("dictionary.mdb")
set rs = server.createobject("ADODB.recordset")
'query the database
str="SELECT * FROM dictionary WHERE word = '"&
request.querystring("formWord")&"'"
set RS = dbConn.execute(str)
'is this name taken or not
if not RS.eof then
response.write "TakenOrNot|<b>"&request.querystring("formWord")&":</b><br>"&rs("meaning")
else
response.write "TakenOrNot|Thong bao: "&"Khong co tu nay"
'end if
end if
%>
Tương tự như vậy, các ứng dụng kiểm tra tên đăng nhập (người dùng chọn tên đăng nhập và check xem tên đó đã có chưa), tự động sao lưu văn bản đang soạn thảo (auto save), tự động sao lưu nội dung làm việc của người dùng (ví dụ điền form)… cũng được thực hiện thông qua cơ chế này.
Chúc các bạn thành công
Notification Switch
Would you like to follow the 'Giáo trình tổng quan về ajax và wap' conversation and receive update notifications?