A-AA+then

ปํญหา is null or not an object ใน IE

2,329
ปํญหาการหา document.getElementById("test") แล้วใน IE เด้งว่า is null or not an object

ex
<form name='frm' id='frm'>
<input type='hidden' name='test' id='test' value='001'>
</form>
<div id='tar' name='tar'></div>

แล้วทำการ
setTimeout("get_details()",200);

function get_details(){
 document.getElementById("tar").innerHTML=document.frm.test.value;
}

แต่ในโปรแกรมจริงๆ  <input type='hidden' name='test' id='test' value='ค่านี้จะเปลี่ยนแปลงตลอด'>
ตัวอย่างแบบคราวๆ

รันตอนแรกๆ มันก็ไม่มีปํญหาอะไร  แต่พอสักพัก ใน IE กลับเด้งว่า 'document.frm.test' is null or not an object

ทำไมจึงเป็นแบบนี้ครับ ย้ำว่าเป็นในเฉพาะ IE เท่านั้นครับ พอ Error แล้วโปรแกรมก็หยุดทำงานทันทีเลย

มีวิธีทำให้โปรแกรมไม่ต้องแจ้ง Error แล้วทำงานต่อ หรือก็วิธีแก้ใขปัญหาไหมครับ  

2 ความคิดเห็น

document.getElementById("tar").innerHTML=document.getElementById("test").value;

ให้เรียกใช้ด้วย getElementById ตลอดครับ เพื่อประกันว่ามันจะหากันเจอ

ถ้ามันมีโอกาศ error ก็สามารถทดสอบก่อนด้วย getElementById ได้ครับ

if(document.getElementById('text')){
 // do some thing
}
1

ได้แล้วครับ คือต้องข้ามเวลาที่พี่ IE แกตาฟ่าฟาง มองไม่เห็น element อยากให้ microsoft ตัดแว่นงามๆ ใส่ให้พี่แกสักอัน จะได้ตาดีเหมือน FIREFOX เลื่อนปรื้ดดๆ ไม่มีสดุด

ขอบพระคุณอย่างสูงครับ อาจารย์กรด
2
^