|
|
|
เปลี่ยนจาก Appserv มาเป็น XAMPP แล้วมีปัญหาเกี่ยวกับ JavaScript ครับ |
|
|
|
|
|
|
|
มันมีปัญหายังไงครับ
|
|
|
|
|
Date :
2013-08-25 06:59:47 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<input type=\"text\" name=\"kkk\" value=\"".$bk."\"/>
ทราบสาเหตุหนึ่งจุดคือโค๊ดตัวแรก เพราะตอนรับค่ารับเป็น $bk ต้องเปลี่ยนเป็น $_GET['bk'] เหลืออีกจุดครับ
|
|
|
|
|
Date :
2013-08-25 07:04:33 |
By :
nook563 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อ๋อ มันเกี่ยวกับคุณเขียนม่ดีเองครับ จะต้องตามแก้ให้หมดครับ
|
|
|
|
|
Date :
2013-08-25 07:08:13 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อีกจุดยังไม่ได้ และไม่รู้จะแก้ไขยังไงด้วยครับคือ
Code (PHP)
echo"<form name=\"frmaddkar\" id=\"frmaddkar\" method=\"POST\" action=\"\" onsubmit=\"return chksup();\">";
echo"<table width=\"580\" cellspacing=\"1\" cellpadding=\"1\" style=\"background:#FFFFFF;\">";
echo"<tr>";
echo"<td width=\"160px\" align=\"right\">การนำไปใช้:</td>";
echo"<td><select name=\"kar_use\" id=\"kar_use\" style=\"width:160px\">";
echo "<option value=\"0\" selected=\"selected\">---ประเภทการนำไปใช้---</option>";
echo "<option value=\"0\">ครุภัณฑ์หลัก</option>";
echo "<option value=\"1\">ครุภัณฑ์อะไหล่</option>";
echo"</select>";
echo"</td>";
echo"<td width=\"160px\" align=\"left\" colspan=\"2\">*ไม่สามารถแก้ไขภายหลังได้</td>";
echo"</tr>";
echo "<script type=\"text/javascript\" src=\"jquery-1.10.2.min.js\"></script>";
echo "<script type=\"text/javascript\" src=\"ajax.js\" ></script>";
echo "<script language=\"javascript\">";
echo"jq162 = jQuery.noConflict(true);";
echo "window.onload=Add;";
echo "</script>";
echo"<tr>";
echo"<td width=\"160px\" align=\"right\">กลุ่มคลาส:<input type=\"button\" name=\"test\" value=\"click\" onclick=\"javascript.alert(\"ddd\");\"/></td>";
echo"<td><select name=\"Proviance\" id=\"Proviance\" style=\"width:160px\" onchange=\"ClearKaruID();\"></select>
<input type=\"text\" name=\"ProID\" id=\"ProID\" hidden=\"hidden\" /></td>";
echo"<td width=\"160px\" align=\"right\">ชนิดครุภัณฑ์:</td>";
echo"<td><select name=\"District\" id=\"District\" style=\"width:160px\" ></select>
<input type=\"text\" name=\"DisID\" id=\"DisID\" hidden=\"hidden\"/></td>";
echo"</tr>";
echo"<tr>";
echo"<td width=\"160px\" align=\"right\">หมายเลขครุภัณฑ์:</td>";
echo"<td><input class=\"ipstock\" type=\"text\" name=\"txtkaruid\" id=\"txtkaruid\" onchange=\"KaruID();\"/> </td>";
echo"<td width=\"160px\" align=\"right\">สถานะครุภัณฑ์ : </td>";
echo"<td><select id=\"txtkarst\" name=\"txtkarst\">";
$sql="select * from tb_karupant_status order by st_id desc";
mysql_query("SET NAMES utf8");
$rs=mysql_query($sql);
while($row=mysql_fetch_array($rs)){
echo"<option value=\"".$row['st_id']."\" selected>".$row['st_name']."</option>";
}
echo"</select>";
echo"</td>";
echo"</tr>";
//ajax
Code (JavaScript)
function Add(){
jq162.ajax({
url: "getdata.php",
global: false,
type: "GET",
data: ({TYPE : "Proviance"}),
dataType: "JSON",
async:false,
success: function(jd) {
var opt="<option value=\"0\" selected=\"selected\">---เลือกประเภทครุภัณฑ์---</option>";
jq162.each(jd, function(key, val){
opt +="<option value='"+ val["kar_id"] +"'>"+val["kar_name"]+"</option>"
});
jq162("#Proviance").html( opt );
}
});
}
ปกติจะต้องมีค่า ---เลือกประเภทครุภัณฑ์--- รอในช่อง กลุ่มคลาส(Province) แต่กรณีนี้ไม่มีครับลองเช็คเบื้องต้นแล้วยังหาจุดผิดพลาดไม่เจอครับ แต่ลองสั่ง alert("ddd")ตรงบรรทัดแรกใน function Add() ก็ alert นะครับไม่รู้ว่า echo"jq162 = jQuery.noConflict(true);"; มันจะมีส่วนเกี่ยวข้องกันไหมกับ version php หรือปัจจัยอื่นๆที่ผมไม่ทราบ
แต่ถ้านำ alert ไปใส่ใน tag
Code (JavaScript)
jq162.ajax({
});
จะไม่ทำงาน แต่มันติดอยู่นิดเดียวครับ คือผมไม่รู้วิธีแก้ไขเท่านั้นเอง
|
ประวัติการแก้ไข 2013-08-25 08:06:42 2013-08-25 08:18:07
|
|
|
|
Date :
2013-08-25 08:03:26 |
By :
nook563 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เรื่อง ajax คงผิดที่ getdata.php ครับ
ลองตรวจสอบ error ด้วยวิธีนี้ดูครับ
function Add(){
jq162.ajax({
url: "getdata.php",
global: false,
type: "GET",
data: ({TYPE : "Proviance"}),
//dataType: "JSON", ไม่ใช่ JSON อัตโนมัติ
async:false,
success: function(jd) {
// ลอง parse JSON แบบ manual ดู ถ้ามัน parse ไม่ได้ ก็จะเกิด exception
// และเมื่อเราดักจับ exception ก็จะแสดงค่าที่รับมาจาก php ให้ดู
// ซึ่งส่วนมากจะมี error message จาก php ติดมาด้วย จะทำให้เรารู้ว่าผิดอะไร
try {
jd = JSON.parse(jd);
} catch (error) {
alert(jd);
}
var opt="<option value=\"0\" selected=\"selected\">---เลือกประเภทครุภัณฑ์---</option>";
jq162.each(jd, function(key, val){
opt +="<option value='"+ val["kar_id"] +"'>"+val["kar_name"]+"</option>"
});
jq162("#Proviance").html( opt );
}
});
}
|
|
|
|
|
Date :
2013-08-25 08:20:00 |
By :
phpinfo() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
งั้นต้องดูที่โค้ด getdata.php ครับ หรือไม่ก็ลอง alert ค่าที่รับมาทุกครั้งไปเลย ว่า ajax มันทำงานหรือเปล่า
Code (PHP)
function Add(){
jq162.ajax({
url: "getdata.php",
global: false,
type: "GET",
data: ({TYPE : "Proviance"}),
//dataType: "JSON", ไม่ใช่ JSON อัตโนมัติ
async:false,
success: function(jd) {
alert(jd); // เช็คดูทุกครั้ง
// ลอง parse JSON แบบ manual ดู ถ้ามัน parse ไม่ได้ ก็จะเกิด exception
// และเมื่อเราดักจับ exception ก็จะแสดงค่าที่รับมาจาก php ให้ดู
// ซึ่งส่วนมากจะมี error message จาก php ติดมาด้วย จะทำให้เรารู้ว่าผิดอะไร
try {
jd = JSON.parse(jd);
} catch (error) {
alert(jd);
}
var opt="<option value=\"0\" selected=\"selected\">---เลือกประเภทครุภัณฑ์---</option>";
jq162.each(jd, function(key, val){
opt +="<option value='"+ val["kar_id"] +"'>"+val["kar_name"]+"</option>"
});
jq162("#Proviance").html( opt );
},
error: function (jqXHR, errorText) { // ถ้าตรงนี้ทำงาน แสดงว่า getdata.php ไม่ทำงาน อาจจะชื่อไฟล์ผิด หรือ path ผิด
alert("ERROR: " + errorText);
}
});
}
|
|
|
|
|
Date :
2013-08-25 08:36:14 |
By :
phpinfo() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|