GORAGOD.com

freelance, web developer, web designer, hosting, domain name

ขอถามหน่อยครับ

คือผมเขียน 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 เลยนะครับ

หวังว่าคงจะเข้าใจคำถามนะครับ

23 พ.ค. 2552 4 3,007

มี 2 วิธี หลักๆ ครับ เมื่อลบไปแล้วให้ทำดังต่อไปนี้

1. ซ่อน element ที่ลบซะ ถ้า้เป็นตารางก็ซ่ิอนมันทั้งแถวเลยก็ได้ เช่น

document.getElementById('deleteid').style.display = 'none';

2. ลบ element นั้นออกจริงๆ วิธีนี้ดีกว่า แต่ก็ยากกว่าและต้องเขียนคำสั่งหลายบรรทัด แต่ถ้าใช้ FrameWork เช่น GAJAX ก็จะง่ายขึ้นเช่น

$G('deleteid').remove(); /* สำหรับ GAJAX */
#1

ซ่อมมันแล้ว ให้ัมัน query ข้อมูลใหม่กลับมาที่ page เดิมปะครับ แต่ผมซ่อน

แบบนี้แล้ว
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 ได้ปะครับ
#2

ครึๆ ไม่ใช่

ซ่อนด้วย Javascript ครับ หลังจากรับค่ากลับมาแล้ว ด้วย AJAX หมายถีงทำที่ AJAX

deleteid เป็น id ของ element ที่ต้องการลบครับ  เช่น

<div id="deleteid">XXX</div>
<input type="button" onclick="document.getElementById('deleteid').style.display= 'none'" value="Delete" />
#3

ผมทำได้ละครับ อิอิ
#4
ความคิดเห็น
ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 2M
^