โดยปกติ page ที่ถูกเรียกด้วยวิธี ajax รูปแบบ html ไม่ควรมีโค้ด javascript ปนในนั้นครับ
ตัวอย่างที่ไม่ดีนะครับ ผิดเนื่องจากมี javascript ใน page1.php
และที่ผิดอย่างเห็นได้ชัดเลยคือมีการเรียก jquery.js สองครั้งประกาศตัวแปรฯลฯ function สองครั้ง
และ request ซ้ำอีกก็จะประกาศซ้ำเป็นหลายครั้งจะทำให้เกิดปัญหาครับ
// page1.php
<script src="jquery.js"></script>
<script src="jquery.datepicker.js"></script>
<script>
$(function(){
$('#d').datepicker();
});
</script>
<input id="d" type="text"/>
// index.php
<script src="jquery.js"></script>
<script>
$(function(){
$('#test').load('page1.php');
});
</script>
<div id="test"></div>
===================================================
ถ้าต้องการให้ทำงานไม่มีปัญหานะครับจะต้องใช้วิธี request page1.php ซึ่งมีแค่ html
และให้ไฟล์ผู้เรียก (index.php) ใช้คำสั่งควบคุมแทน
// page1.php
<input id="d" type="text">
// index.php
<script src="jquery.js"></script>
<script src="jquery.datepicker.js"></script>
<script>
$('#test').load('page1.php',function(){
$('#d').datepicker(); //หลังจากใส่ html page1.php ใน index.php แล้วเรียกคำสั่ง plugin อีกครั้ง
});
</script>
<div id="test"></div>
แล้วในกรณีที่ มีหลายเพจล่ะค่ะ จะทำการส่งค่าไปโหลด ยังไง ลองทำตามแล้ว มันไม่โหลด อ่ะค่ะ ฮ่าๆๆๆ ขออภัยด้วยนะค่ะ
ตอบลบสร้าง function มาคู่กับแต่ละ page ที่โหลดขึ้นมาครับ
ตอบลบเช่น หลังจากโหลด page1.php เสร็จก็เรียก page1();
เพื่อให้กำหนดค่า jquery plugin