จากบทที่ 10 เรื่อง Combobox ส่งค่าที่เอามาจาก Form ไม่ได้ครับ HomeForumจากบทที่ 10 เรื่อง Combobox ส่งค่าที่เอามาจาก Form ไม่ได้ครับ Saichon req.open("GET", "province.php?test_date="+document.getElementById('dd').value+"$data="+src+"&val="+val); แบบนี้ขึ้น erorว่า document.getElementById(...) is null or not an object น่ะครับ ไม่ทราบว่าต้องแก้ยังงัยครับ ขอบคุณมากครับ กรกฎ วิริยะ ตัวอย่างก็ทำงานได้นี่ครับดังนั้นที่ผิดก็คงอยู่ที่ดัดแปลงผิด is null or not an object หมายถึงมันหา id ที่กำหนดไม่เจอครับ ให้ลองตรวจสอบว่า โค้ดที่เขียน ระบุ id ถูกต้องหรือเปล่า Saichon ลองแล้วไม่ได้ครับ รบกวนช่วยดูให้หน่อยครับ ขณะนี้ขึ้นว่า Object required ผมก็ไล่ดูแล้วนะว่าไม่มีอะไรผิด ขอบคุณมากครับ <script language=Javascript> function Inint_AJAX() { try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) {} //IE try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) {} //IE try { return new XMLHttpRequest(); } catch(e) {} //Native Javascript alert("XMLHttpRequest not supported"); return null; }; function dochange(src, val) { var req = Inint_AJAX(); req.onreadystatechange = function () { if (req.readyState==4) { if (req.status==200) { document.getElementById(src).innerHTML=req.responseText; } } }; req.open("GET", "test.php?dd="+ document.getElementById('data_sent').value +"&data="+src+"&val="+val); req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); // set Header req.send(null); //????? } window.onLoad=dochange('amphur', -1); </script> <body> <? $amphur=$_POST['amphur']; $tumbon=$_POST['tumbon']; $dd=$_POST['dd']; echo "<form name=sel action='' method=POST> "; echo "????? : <font id=amphur><select> "; echo "<option value='0'>--------------------</option> " ; echo "</select></font> "; echo "???? : <font id=tumbon>"; echo "<input type=\"Text\" name=\"dd\" id=\"dd\" value=\"\">" ; echo "</font> <br><br>"; echo "<input type=\"Text\" name=\"data_sent\" id=\"data_sent\" value=\"test\">" ; echo "</form> "; ?> Saichon คือ แค่ไปประกาศตัวแปรเหนือบันทัดนั้นก็ Error แล้วครับ var mmdate=document.sel.data_sent.value; req3.open("GET", "select_mdate.php?wex_date_employed="+mmdaet+"&data="+src+"&val="+val); แบบนี้ก็ error ครับ var mmdate=document.getElementById('data_sent').value; req3.open("GET", "select_mdate.php?wex_date_employed="+mmdaet+"&data="+src+"&val="+val); รบกวนช่วยหน่อยครับ ติดแค่ตรงนี้นิดเดียวเองครับ ขอบคุณมากครับ กรกฎ วิริยะ data_sent มันมีหรือเปล่าล่ะ ถ้า view source แล้วไม่มี มันก็หาไม่เจอ หน้านี้ถูกสร้างด้วย ajax หรือเปล่า ถ้าใช่ มันก็อาจจะหาไม่เจอ การทดสอบง่ายๆ ก็คือให้ลองเรียกหน้านี้ตรงๆผ่าน URL ถ้าทำงานปกติ ก็แสดงว่าวิธีเรียกไม่ถูกต้อง ส่วนวิธีแก้ไข จริงๆแล้วมีบนเว็บ อาจต้องใช้ความเข้าใจหลายๆส่วน เพื่อทำความเข้าใจกับมัน ถึงจะออกแบบได้ถูก อ้อ...พอรู้แล้ว ให้ย้ายเอา Javascript ทั้งหมด ไปไว้ด้านล่าง ครับ (ก่อน </body> หลัง <form>) Saichon อ๋อออ ย้ายเอา Javascript ลงมาข้างล่างก็ได้แล้ว ขอบคุณมากครับ ได้แล้วครับ นั่งงงอยู่ตั้งนาน ความคิดเห็น รายละเอียด ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 2M ส่งความคิดเห็น
is null or not an object หมายถึงมันหา id ที่กำหนดไม่เจอครับ ให้ลองตรวจสอบว่า โค้ดที่เขียน ระบุ id ถูกต้องหรือเปล่า
<script language=Javascript>
function Inint_AJAX() {
try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) {} //IE
try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) {} //IE
try { return new XMLHttpRequest(); } catch(e) {} //Native Javascript
alert("XMLHttpRequest not supported");
return null;
};
function dochange(src, val) {
var req = Inint_AJAX();
req.onreadystatechange = function () {
if (req.readyState==4) {
if (req.status==200) {
document.getElementById(src).innerHTML=req.responseText;
}
}
};
req.open("GET", "test.php?dd="+ document.getElementById('data_sent').value +"&data="+src+"&val="+val);
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); // set Header
req.send(null); //?????
}
window.onLoad=dochange('amphur', -1);
</script>
<body>
<?
$amphur=$_POST['amphur'];
$tumbon=$_POST['tumbon'];
$dd=$_POST['dd'];
echo "<form name=sel action='' method=POST> ";
echo "????? : <font id=amphur><select> ";
echo "<option value='0'>--------------------</option> " ;
echo "</select></font> ";
echo "???? : <font id=tumbon>";
echo "<input type=\"Text\" name=\"dd\" id=\"dd\" value=\"\">" ;
echo "</font> <br><br>";
echo "<input type=\"Text\" name=\"data_sent\" id=\"data_sent\" value=\"test\">" ;
echo "</form> ";
?>
var mmdate=document.sel.data_sent.value;
req3.open("GET", "select_mdate.php?wex_date_employed="+mmdaet+"&data="+src+"&val="+val);
แบบนี้ก็ error ครับ
var mmdate=document.getElementById('data_sent').value;
req3.open("GET", "select_mdate.php?wex_date_employed="+mmdaet+"&data="+src+"&val="+val);
รบกวนช่วยหน่อยครับ ติดแค่ตรงนี้นิดเดียวเองครับ
ขอบคุณมากครับ
หน้านี้ถูกสร้างด้วย ajax หรือเปล่า ถ้าใช่ มันก็อาจจะหาไม่เจอ
การทดสอบง่ายๆ ก็คือให้ลองเรียกหน้านี้ตรงๆผ่าน URL ถ้าทำงานปกติ ก็แสดงว่าวิธีเรียกไม่ถูกต้อง ส่วนวิธีแก้ไข จริงๆแล้วมีบนเว็บ อาจต้องใช้ความเข้าใจหลายๆส่วน เพื่อทำความเข้าใจกับมัน ถึงจะออกแบบได้ถูก
อ้อ...พอรู้แล้ว ให้ย้ายเอา Javascript ทั้งหมด ไปไว้ด้านล่าง ครับ (ก่อน </body> หลัง <form>)
ขอบคุณมากครับ ได้แล้วครับ
นั่งงงอยู่ตั้งนาน