Run javascript หลังจากโหลดหน้าที่เรียกด้วย Ajax
สืบเนื่องจากการใช้ javascript จากหน้าที่เรียกผ่าน ajax ครับ ซึ่งสามารถใช้งานได้ตามปกติ
ผมต้องการให้ function ที่เขียนด้วย javascript ทำงานหลังจากที่โหลดหน้าดังกล่าวเรียบร้อยแล้ว (หน้าที่โหลดขึ้นมาด้วย ajax) โดยผมลองใช้วิธีการดังนี้ครับ
1. เขียน tag <body onload="JavaScript:test.init;"> ในหน้าที่เรียกขึ้นมาด้วย ajax ผลปรากฏว่าไม่ทำงาน
2. เขียน tag <script type="text/javascript"> window.onload = test.init; </script> ใส่ไว้ท้ายสุดของหน้าก็ไม่ทำงาน
3. ใช้ $G(window).addEvent('load', function() {}) ตามบทที่ 3 ก็ยังไม่สำเร็จ
แต่ถ้าใช้ event Onclick กับ element สักตัวนึงในหน้านี้ก็สามารถใช้ javascript ได้ตามปกติ และ javascript อื่นๆที่ใช้กับหน้านี้ก็ใช้งานได้ครบถ้วน จึงอยากทราบว่าจะใช้วิธีไหน เพื่อให้สามารถ run javascript หลังจากโหลดหน้าที่เรียกขึ้นมาด้วย ajax ได้ครับ
ผมต้องการให้ function ที่เขียนด้วย javascript ทำงานหลังจากที่โหลดหน้าดังกล่าวเรียบร้อยแล้ว (หน้าที่โหลดขึ้นมาด้วย ajax) โดยผมลองใช้วิธีการดังนี้ครับ
1. เขียน tag <body onload="JavaScript:test.init;"> ในหน้าที่เรียกขึ้นมาด้วย ajax ผลปรากฏว่าไม่ทำงาน
2. เขียน tag <script type="text/javascript"> window.onload = test.init; </script> ใส่ไว้ท้ายสุดของหน้าก็ไม่ทำงาน
3. ใช้ $G(window).addEvent('load', function() {}) ตามบทที่ 3 ก็ยังไม่สำเร็จ
แต่ถ้าใช้ event Onclick กับ element สักตัวนึงในหน้านี้ก็สามารถใช้ javascript ได้ตามปกติ และ javascript อื่นๆที่ใช้กับหน้านี้ก็ใช้งานได้ครบถ้วน จึงอยากทราบว่าจะใช้วิธีไหน เพื่อให้สามารถ run javascript หลังจากโหลดหน้าที่เรียกขึ้นมาด้วย ajax ได้ครับ
ทางแก้ไขคือ เอาฟังก์ชั่นที่ต้องการไปใส่ไว้หลังจากที่ Ajax โหลดเรียบร้อยครับ
req.onreadystatechange = function () {
// เขียนคำสัง javascript ที่ต้องการที่นี่
}