วันพฤหัสบดีที่ 11 สิงหาคม พ.ศ. 2554

jquery plugin and ajax request

โดยปกติ 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>

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

  1. แล้วในกรณีที่ มีหลายเพจล่ะค่ะ จะทำการส่งค่าไปโหลด ยังไง ลองทำตามแล้ว มันไม่โหลด อ่ะค่ะ ฮ่าๆๆๆ ขออภัยด้วยนะค่ะ

    ตอบลบ
  2. สร้าง function มาคู่กับแต่ละ page ที่โหลดขึ้นมาครับ
    เช่น หลังจากโหลด page1.php เสร็จก็เรียก page1();
    เพื่อให้กำหนดค่า jquery plugin

    ตอบลบ