ขอถามหน่อยครับ
คือผมเขียน php กับ ajax นะครับ
ผมทำหน้า admin ที่ไว้ลบข่าวของเว็บผม
ปุ่มลบของผม ทำแบบ ajax คือ พอกดปุ่มลบ ก็จะส่ง resquest ไปหา server เพื่อ ทำการบอกให้ serverลบ row ของข่าวนั้น
ปัญหาก็คือ สมมุติว่าผมมีข่าวอยู่ 5 ข่าว
ข่าว 1
ข่าว 2
ข่าว 3
ข่าว 4
ข่าว 5
ผมกดลบ ข่าว 2 ไป tabale ในหน้า page ผมก็จะ update แบบ ajax คือไม่มีการ refresh เท่ากับว่าผมเหลือข่าวอยู่ อีก 4อัน
ผมก็ลบ ข่าว 5 ต่อจากที่ลบข่าว 2 ทันที โดยไม่ได้ทีการ refresh page ผลคือ ข่าว 5 ถูกลบจริง แต่ page มันไม่ update
คือมันแสดง
ข่าว 1
ข่าว 3
ข่าว 4
ข่าว 5
แต่ถ้าผมกด F5 refresh page ข่าว 5 มันก็จะหายไป
ทำไงให้ เวลาผมกด ข่าว 2 กับ 5 โดยที่ไม่เปลี่ยน page เลยนะครับ
หวังว่าคงจะเข้าใจคำถามนะครับ
ผมทำหน้า admin ที่ไว้ลบข่าวของเว็บผม
ปุ่มลบของผม ทำแบบ ajax คือ พอกดปุ่มลบ ก็จะส่ง resquest ไปหา server เพื่อ ทำการบอกให้ serverลบ row ของข่าวนั้น
ปัญหาก็คือ สมมุติว่าผมมีข่าวอยู่ 5 ข่าว
ข่าว 1
ข่าว 2
ข่าว 3
ข่าว 4
ข่าว 5
ผมกดลบ ข่าว 2 ไป tabale ในหน้า page ผมก็จะ update แบบ ajax คือไม่มีการ refresh เท่ากับว่าผมเหลือข่าวอยู่ อีก 4อัน
ผมก็ลบ ข่าว 5 ต่อจากที่ลบข่าว 2 ทันที โดยไม่ได้ทีการ refresh page ผลคือ ข่าว 5 ถูกลบจริง แต่ page มันไม่ update
คือมันแสดง
ข่าว 1
ข่าว 3
ข่าว 4
ข่าว 5
แต่ถ้าผมกด F5 refresh page ข่าว 5 มันก็จะหายไป
ทำไงให้ เวลาผมกด ข่าว 2 กับ 5 โดยที่ไม่เปลี่ยน page เลยนะครับ
หวังว่าคงจะเข้าใจคำถามนะครับ
1. ซ่อน element ที่ลบซะ ถ้า้เป็นตารางก็ซ่ิอนมันทั้งแถวเลยก็ได้ เช่น
document.getElementById('deleteid').style.display = 'none';
2. ลบ element นั้นออกจริงๆ วิธีนี้ดีกว่า แต่ก็ยากกว่าและต้องเขียนคำสั่งหลายบรรทัด แต่ถ้าใช้ FrameWork เช่น GAJAX ก็จะง่ายขึ้นเช่น
$G('deleteid').remove(); /* สำหรับ GAJAX */
แบบนี้แล้ว
document.getElementById('deleteid').style.display = 'none';
เพราะ page 1 แสดงผล page2 ทำ query แล้วส่งไปให้ page1
page2 ส่ง ข้อมูลแบบ text กลับมา page 1 เพื่อบอกว่าทำงานสำเร็วแล้ว แต่พอผมเพิ่ม header("content-type:text/javascript") ไป พร้อมส่งคำสั่ง javascript ไปด้วย
อันนี้ document.getElementById('deleteid').style.display = 'none'; มันกลับไม่ทำงาน
มันไม่หาย -*- ไม่รู้เขียนตรงไหนผิด ToT
ไม่ทราบว่าจะติดต่อกับพี่ทาง msn ได้ปะครับ
ซ่อนด้วย Javascript ครับ หลังจากรับค่ากลับมาแล้ว ด้วย AJAX หมายถีงทำที่ AJAX
deleteid เป็น id ของ element ที่ต้องการลบครับ เช่น
<div id="deleteid">XXX</div>
<input type="button" onclick="document.getElementById('deleteid').style.display= 'none'" value="Delete" />