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 ได้ครับ
05 ต.ค. 2553 1 2,397

ปกติแล้ว มันทำไม่ได้นะครับ ซึ่งผมเคยบอกหลายครั้งแล้วว่า เราไม่สามารถใช้งาน Javascript ในหน้าที่ถูก Ajax เรียกได้



ทางแก้ไขคือ เอาฟังก์ชั่นที่ต้องการไปใส่ไว้หลังจากที่ Ajax โหลดเรียบร้อยครับ



req.onreadystatechange = function () {

  // เขียนคำสัง javascript ที่ต้องการที่นี่

}
#1
ความคิดเห็น
ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 1024
^