รบกวนพี่ๆช่วยหน่อยครับ javascript ไม่ยอมส่งตัวแปร get ไปอีกหน้า
คือถ้าพิมพ์ ข้อความ ใน input box แล้วกดปุ่ม มันไม่ยอมแสดงอ่ะครับเหมือนมัน error แต่ถ้าไม่ใส่พิมพ์อะไรเลยแล้วกดปุ่มมัน ทำงานได้ตามปกติอ่ะครับ รบกวนพี่ๆช่วยทีครับ
Code (PHP)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Google Maps JavaScript API Example</title>
<meta http-equiv="content-type" content="text/html;charset=tis620"/>
<style type="text/css">
v:* {
behavior:url(#default#VML);
}
</style>
<script src="http://maps.google.com/maps?file=api&v=2&key=ใส่ Maps Key ของคุณครับที่ได้ลงทะเบียนไว้ตรงนี้..." type="text/javascript"></script>
<?
$air = "7";
?>
<script type="text/javascript">
//<![CDATA[
var javavar = <?=$air?>;
function onLoad() {
map = new GMap(document.getElementById("div_map"));
map.addControl(new GLargeMapControl3D());
map.setCenter(new GLatLng(13.80608, 100.57983), javavar);
GEvent.addListener(map, "click", function(overlay, point) {
if (overlay){ // การคลิ๊ก หรือ Mark Click
overlay.openInfoWindowHtml(overlay.infowindow); // open InfoWindow
} else if (point) { // พื้นหลัง
}
});
}
function getMarkers(){
map.clearOverlays();
var asearch = document.getElementById('asearch').value;
var urlstr="read.php?asearch=" + asearch;
var request = GXmlHttp.create();
request.open('GET', urlstr , true); // request XML from PHP with AJAX call
request.onreadystatechange = function () {
if (request.readyState == 4) {
var xmlDoc = request.responseXML;
locations = xmlDoc.documentElement.getElementsByTagName("location");
markers = [];
if (locations.length){
for (var i = 0; i < locations.length; i++) { // cycle thru locations
var pic = locations[i].getAttribute("pic");
var newHouse = new GIcon(G_DEFAULT_ICON);
newHouse.iconSize = new GSize(25,25);
newHouse.image = pic;
markers[i] = new GMarker(new GLatLng(locations[i].getAttribute("lat"),locations[i].getAttribute("lng")), {draggable: false,icon:newHouse});
markers[i].infowindow = "ที่นี่ คือ "+locations[i].getAttribute("name")+ locations[i].getAttribute("pic")+ locations[i].getAttribute("search");
markers[i].markerindex = i;
markers[i].db_id = locations[i].getAttribute("location_id");
map.addOverlay(markers[i]);
}
}
}
}
request.send(null);
}
//]]>
</script>
</head>
<body onload="onLoad()">
<center>
<div id="div_map" style="width: 600px; height: 400px"></div>
<input name="text" type="text" id="asearch" size="30"/>
<input type="button" onclick="getMarkers()" value="เริ่มค้นหา"/>
<br><br>
</center>
</body>
</html>
อันนี้ไฟล์ read.php นะครับ
Code (PHP)
<?php
$host = 'localhost';
$user = 'root';
$pass = "1234";
$dbname = 'map';
$asearch = $_GET["asearch"];
if (!$db = mysql_connect($host, $user, $pass)) {
echo 'Could not connect to mysql';
exit;
}
if (!mysql_select_db($dbname, $db)) {
echo 'Could not select database';
exit;
}
// Date in the past
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
// always modified
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
// HTTP/1.1
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
// HTTP/1.0
header("Pragma: no-cache");
//XML Header
header("content-type:text/xml");
$query = "SELECT * FROM locations WHERE 1";
$query = mysql_query($query);
echo "<locations>";
while ($row=mysql_fetch_assoc($query)){
echo '<location id="'.$row['location_id'].'" name="'.$row['name'].'" lat="'.$row['lat'].'" lng="'.$row['lng'].'" pic="'.$row['pic'].'" search="'.$asearch.'"/>';
}
echo "</locations>";
?>
Tag : PHP, MySQL, JavaScript, Ajax
Date :
2010-11-15 21:57:11
By :
airzio
View :
1173
Reply :
12
ตัวเลข ภาษาอังกฤษได้ไม่มีปัญหา มีปัญหาที่ภาษาไทย Y_Y
Date :
2010-11-15 22:32:05
By :
airzio
ลองใส่
header("Content-Type: text/html; charset=UTF-8");
หรือ
header("Content-Type: text/html; charset=TIS-620");
ไว้บรรทัดแรกสุดของไฟล์ read.php ครับ
Date :
2010-11-15 22:58:03
By :
PlaKriM
เหมือนเดิมครับ Y_Y
Date :
2010-11-15 23:06:17
By :
airzio
ลืมดู
จาก
header("content-type:text/xml");
เป็น
header("content-type:text/xml; charset=UTF-8");
หรือ
header("content-type:text/xml; charset=TIS-620");
ยังไงลองรันไฟล์ read.php ดูก่อนครับว่ามันผิดพลาดตรงไหนยังไง ออกมาเป็นภาษาไทยไหม แล้วดูไฟล์ด้วยว่าเป็น ansi หรือ unicode หรือ utf
Date :
2010-11-15 23:11:55
By :
PlaKriM
ไม่ทราบพี่มีเมลป่ะครับ ผมนั่งทำโปรเจคจบอยู่ติดปัญหาเยอะมาก
Date :
2010-11-15 23:32:46
By :
airzio
วันนี้ว่าง น้องลง teamviewer แล้วส่ง id, pwd มาให้พี่ทาง pm ครับ ส่งเมลมาทาง pm ละกัน
Date :
2010-11-15 23:42:43
By :
PlaKriM
หาโหลดโปรแกรมก่อนครับ
Date :
2010-11-15 23:44:56
By :
airzio
ส่ง pm ไปแล้วนะครับ
Date :
2010-11-15 23:53:27
By :
airzio
ติดปัญหาที่ภาษาไทย Y_Y
Date :
2010-11-16 01:33:50
By :
airzio
ได้แล้วครับต้องขอขอบคุณ พี่ PlaKriM มากนะครับ
Date :
2010-11-16 03:02:06
By :
airzio
ปัญหานี่แก้ไขได้หรือยังครับ
ถ้าไม่ได้ลอง Save File เป็น UTF8 ดูครับ
Date :
2013-10-06 22:45:24
By :
mashimaro
Load balance : Server 03