ปํญหาการหา 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 แล้วทำงานต่อ หรือก็วิธีแก้ใขปัญหาไหมครับ  
กรกฎ วิริยะ 07 พ.ย. 2553 21:33
document.getElementById("tar").innerHTML=document.getElementById("test").value;



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



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



if(document.getElementById('text')){

  // do some thing

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



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