|
|
|
ช่วยดู code ให้ด้วยครับ ว่า ทำไม เมื่อใส่ รหัสเข้าไป แล้ว มันแสดง เฉพาะ สกุล ชื่อจะไม่แสดง ที่ function ajaxCall(code) |
|
|
|
|
|
|
|
ช่วยดู code ให้ด้วยครับ ว่า ทำไม เมื่อใส่ รหัสเข้าไป
แล้ว มันแสดง เฉพาะ สกุล ชื่อจะไม่แสดง
ที่ function ajaxCall(code)
ได้ เรียกอีก 2 function
ajaxLoad('get', URL1, null, 'result' ); -----------------------1
alert(URL1); /////// ถ้าไม่ใส่บรรทัดนี้ และ แสดง ค่า ที่ สกุล ที่เดียว (id=result2)
////// ถ้า ให้ขึ้น alert ก็จะแสดง ทั้ง ชื่อ-สกุล
URL2 =URL+'&item=2' ;
ajaxLoad('get', URL2, null, 'result2' ); -------------------------2
ขอบคุณมากครับ
///// test1.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>ajax TEST</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-874">
<script>
var ajax = null;
if(window.ActiveXObject) {
ajax = new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHTTPRequest) {
ajax = new XMLHTTPRequest();
}
function ajaxLoad(method, URL, data, displayId ) {
ajax.open(method, URL);
ajax.onreadystatechange = function() {
if(ajax.readyState==4 && ajax.status==200) {
ajaxCallback(displayId, ajax.responseText);
}
}
ajax.send(data);
}
function ajaxCallback(displayId, responseText){
var el = document.getElementById(displayId);
el.value = responseText;
}
function ajaxCall(code) {
var vcode = code.value ;
var URL = "test1_ss.php" ;
URL +="?code="+vcode ;
var URL1 =URL+'&item=1' ;
ajaxLoad('get', URL1, null, 'result' );
alert(URL1); /////// ถ้าไม่ใส่บรรทัดนี้ และ แสดง ค่า ที่ สกุล ที่เดียว (id=result2)
////// ถ้า ให้ขึ้น alert ก็จะแสดง ทั้ง ชื่อ-สกุล
URL2 =URL+'&item=2' ;
ajaxLoad('get', URL2, null, 'result2' );
}
</script>
</head>
<body>
<center>
รหัส <INPUT TYPE="text" NAME="kisic" id=isic onblur="ajaxCall(this)" ; <br>
ชื่อ <INPUT TYPE="text" NAME="result" id = "result" size="80" maxlength="80" ><br>
สกุล <INPUT TYPE="text" NAME="result2" id = "result2" size="80" maxlength="80" ><br>
/////test1_ss.php
header ("Content-Type: text/html; charset=tis-620");
$code = $_GET['code'] ;
$item =$_GET['item'] ;
switch($item){
case 1 :
echo 'ชื่อAAAAAA' ;
break ;
case 2 :
echo 'สกุลBBBBB' ;
break ;
}
?>
Tag : - - - -
|
|
|
|
|
|
Date :
2010-06-01 12:49:25 |
By :
อำ |
View :
946 |
Reply :
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อาการนี้คือมันทำงานไม่ทันน่ะคับ
น่าจะเป็นเพราะตัวแปร ajax เป็น global variable พอมันทำไม่ทันค่ามันเลยทับกันอันแรกเลยหายไป ลองย้ายตัวแปร ajax เข้ามาในฟังก์ชั่นดูคับ ตามนี้
Code (javascript)
function ajaxLoad(method, URL, data, displayId ) {
var ajax = null;
if(window.ActiveXObject) {
ajax = new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHTTPRequest) {
ajax = new XMLHTTPRequest();
}
ajax.open(method, URL);
ajax.onreadystatechange = function() {
if(ajax.readyState==4 && ajax.status==200) {
ajaxCallback(displayId, ajax.responseText);
}
ได้แล้วขอคะแนนด้วยนะครับ
|
|
|
|
|
Date :
2010-06-01 13:04:15 |
By :
kerb |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
OK ได้แล้วครับขอบคุณมากครับ
|
|
|
|
|
Date :
2010-06-01 13:14:30 |
By :
อำ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|