Chương này mình sẽ trình bày một ví dụ minh họa cách sử dụng kỹ thuật AJAX trên Client Side và ngôn ngữ ASP trên Server Side.
Trong ví dụ này, khi người dùng gõ một ký tự trong trường input, hàm JavaScript có tên là showHint() sẽ được thực thi. Hàm này được kích hoạt bởi sự kiện onkeyup.
<html>
<body>
<h3>Ban hay nhap mot ten trong truong input ben duoi:</h3>
<form action="">
First name: <input type="text" id="txt1" onkeyup="showHint(this.value)">
</form>
<p>Suggestions: <span id="txtHint"></span></p>
<script>
function showHint(str) {
var xhttp;
if (str.length == 0) {
document.getElementById("txtHint").innerHTML = "";
return;
}
xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (xhttp.readyState == 4 && xhttp.status == 200) {
document.getElementById("txtHint").innerHTML = xhttp.responseText;
}
};
xhttp.open("GET", "gethint.php?q="+str, true);
xhttp.send();
}
</script>
</body>
</html>
Giải thích
Đầu tiên, kiểm tra xem nếu trường input là trống hay không (điều kiện str.length == 0). Nếu là trống thì xóa nội dung của Placeholder và thoát khỏi hàm.
Nếu trường input là không trống, thực hiện:
ASP file này kiểm tra mảng các tên và sau đó trả về tên tương ứng cho trình duyệt.
<%
response.expires=-1
dim a(30)
'Mot mang cac ten Sinh Vien
a(1)="An"
a(2)="Bao"
a(3)="Chinh"
a(4)="Doanh"
a(5)="Em"
a(6)="Gam"
a(7)="Hoang"
a(8)="Kim"
a(9)="Linh"
a(10)="Ngoc"
a(11)="Oanh"
a(12)="Phuc"
a(13)="Anh"
a(14)="Nam"
a(15)="Sen"
a(16)="Dong"
a(17)="Sinh"
a(18)="Torres"
a(19)="Ronaldo"
a(20)="Messi"
a(21)="Suares"
a(22)="Morinho"
a(23)="Van Gan"
a(24)="Viet"
'Lay tham so q tu dia chi URL
q=ucase(request.querystring("q"))
'Tim tat ca cac hint co trong Array neu do dai cua q>0
if len(q)>0 then
hint=""
for i=1 to 30
if q=ucase(mid(a(i),1,len(q))) then
if hint="" then
hint=a(i)
else
hint=hint & " , " & a(i)
end if
end if
next
end if
'Ket qua "Khong co suggestion nao" neu khong tim thay bat ky hint nao trong Array
'hoac ket qua la gia tri ten bat ky co trong Array
if hint="" then
response.write("Khong co suggestion nao")
else
response.write(hint)
end if
%>
Unpublished comment
Viết câu trả lời