|
|
|
javascript ใน IE แสดง Error นิดหน่อยครับ ไม่ทราบว่า สาเหตุจากอะไร รบกวนแนะนำด้วยครับ |
|
|
|
|
|
|
|
คือพัฒนาด้วย ajax อ่ะครับ
เหมือน คำสั่ง split("|") มันตัดข้อมูล ไม่ได้ตามที่ต้องการ
ลอง document.write(myArr) ดู
ไฟล์แสดงเป็น Note Book,13000
ทั้งๆ ที่ไฟล์ใน db ผม echo trim($objResult['ProductName'])."|".trim($objResult['Price']);
|
|
|
|
|
Date :
2012-02-07 14:29:25 |
By :
wayway |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
นี้ไฟล์ทั้งหมดครับ
หน้าแสดงผล index.php
Code (PHP)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<!--<script src="myAjaxFramework.js" type="text/javascript"></script> -->
<script type="text/javascript">
function getHTTPObject() {
var XMLHttpRequestObject = false;
if(window.XMLHttpRequest){
XMLHttpRequestObject=new XMLHttpRequest();
}else if(window.ActiveXObject){
XMLHttpRequestObject=new ActiveXObject("Microsoft.XMLHTTP");
}
return XMLHttpRequestObject;
}
function postDataReturnText(url,data,callback){ // เริ่มฟังก์ชั่น เรียกกลับ
var XMLHttpRequestObject = getHTTPObject(); // อ้างอิงตัวแปร การติดต่อ ajax
if(XMLHttpRequestObject) { // ถ้าติดต่อ ajax สำเร็จ ให้ส่งค่า post และ URL
/// var obj = document.getElementById(xxx);
XMLHttpRequestObject.open("POST", url);
XMLHttpRequestObject.setRequestHeader('Content-Type',
'application/x-www-form-urlencoded');
//XMLHttpRequestObject.setRequestHeader("Content-length", data.length);
XMLHttpRequestObject.send(data); // ส่งค่าที่ input ผ่าน get เช่น rr='001'
XMLHttpRequestObject.onreadystatechange = function() {
if (XMLHttpRequestObject.readyState == 4 &&
XMLHttpRequestObject.status == 200) {
//obj.innerHTML=XMLHttpRequestObject.responseText;
//var myProduct = XMLHttpRequestObject.responseText;
callback(XMLHttpRequestObject.responseText);
/*
if(myProduct != "")
{
var myArr = myProduct.split("|");
//callback(myArr);
document.getElementById(id_no).value = myArr[0];
document.getElementById(fPrice).value = myArr[1];
}
*/
//callback(XMLHttpRequestObject.responseText);
// ส่งค่า text จากหน้า search_ajax กลับคืนทั้งหมด
//delete XMLHttpRequestObject;
//XMLHttpRequestObject = null;
} //if (XMLHttpRequestObject.readyState == 4 &&
}
// XMLHttpRequestObject.send(data);
} // จบเงื่อนไข ติดต่อสำเร็จ
} // จบฟังก์ชั่น เรียกกลับ
function shw(rr){
var CompleteDataUrl="search_ajax.php";
var param="key="+rr //ค่่า post ชื่อวา key
postDataReturnText(CompleteDataUrl,param,displayHint);
} // function shw(rr)
function displayHint(text){
//document.getElementById("id_no").value = text;
if(text != "")
{
var myArr = text.split("|"); // ตัดทั้งชุด ที่มีช่องว่าง
document.getElementById('id_no').value = myArr[0];
document.getElementById('mobile').value = myArr[1];
//document.write(myArr);
} //if(text != "")
} //function displayHint(text)
</script>
</head>
<body>
<table width="380" border="1">
<tr>
<td width="92">ชื่อ สกุล</td>
<td width="272"><input name="sname" id="sname" onkeyup="shw(this.value);" type="text" size="40" /></td>
<!-- onchange="JavaScript:doCallAjax('sname','id_no','mobile');" -->
</tr>
<tr>
<td>เลขประชาชน</td>
<td><input name="id_no55" id="id_no" type="text" size="40" /></td>
</tr>
<tr>
<td>เบอร์โทร</td>
<td><input name="mobile55" id="mobile" type="text" size="40" /></td>
</tr>
<tr>
<td>หน่วนงาน</td>
<td><input name="samnak" type="text" size="40" /></td>
</tr>
</table>
</body>
</html>
หน้าที่ดึงจากฐานข้อมูล ชื่อไฟล์ search_ajax.php
Code (PHP)
<?php
$key = $_POST['key'];
if($key != "")
{
$objConnect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
$objDB = mysql_select_db("myajax");
$strSQL = "SELECT * FROM spro WHERE ProductID = '".$key."' ";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$objResult = mysql_fetch_array($objQuery);
if($objResult)
{
echo trim($objResult['ProductName'])."|".trim($objResult['Price']);
}
mysql_close($objConnect);
}
?>
|
|
|
|
|
Date :
2012-02-07 14:33:14 |
By :
wayway |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
จุดประสงค์จริงๆ อยากจะ นำคำสั่ง split() ไปใช้ ในระหว่าง ติดต่อกับกับ ajax แล้วส่งกลับเข้า id เลยครับ
คือตรง
callback(XMLHttpRequestObject.responseText);
ผมลองเขียนใหม่เป็น
callback(
var myProduct = XMLHttpRequestObject.responseText;
if(myProduct != "")
{
var myArr = myProduct.split("|");
document.getElementById(id_no).value = myArr[0];
document.getElementById(mobile).value = myArr[1];
}
);
แต่ไม่สำเร็จ มันไม่แสดงผลอ่ะครับ ไม่ทราบว่าติดตรงไหน
รบกวน แนะนำด้วยครับ
|
|
|
|
|
Date :
2012-02-07 14:39:46 |
By :
wayway |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
error มันแจ้งมาว่า มันงงกับตัวแปรบางตัวที่อาจจะมีค่าว่างหรือไม่มีค่าอยู่ ซึ่งอาจจะทำให้เกิดปัญหาได้ในอนาคต เพราะฉะนั้นเราต้องมีการตรวจสอบตัวแปรที่จำเป็นก่อนการนำไปใช้ ถ้าเขียนสคริปเองจะต้องรู้ว่ามีตัวแปรใดบ้างที่อาจจะมีปัญหาในกรณีที่ค่าไม่ถูกต้องครับ
|
|
|
|
|
Date :
2012-02-07 16:03:16 |
By :
Songkram |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ช่วย แก้หน่อยครับ
งม หาทั้งวันแล้ว
|
|
|
|
|
Date :
2012-02-07 16:25:26 |
By :
wayway |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|