ช่วยแนะนำ EditInPlace แบบหลาย record หน่อยสิคะ

พูดคุย แลกเปลี่ยน ปัญหา การเขียน JavaScript เครื่องมือ AJAX Web 2.0 AJAX Framework Jquery

Moderator: mindphp

nupha45
PHP Jr. Member
PHP Jr. Member
โพสต์: 13
ลงทะเบียนเมื่อ: 13/08/2008 7:59 pm

ช่วยแนะนำ EditInPlace แบบหลาย record หน่อยสิคะ

โพสต์โดย nupha45 » 20/11/2008 5:42 am

คือว่าตอนนี้เขียนโปรแกรมดึงข้อมูลจาก database มาใส่ <table> โดยจะแสดงตามนี้

while($rs = mysql_fetch_array($result)){
<tr><td>$rs[code]</td><td>$rs[price]</td><td><a href="">แก้ไข</a></td></tr>
}
ในกรณีปรกติ ก็จะต้องกดแก้ไข แล้วไปอีกหน้านึง

แต่ทีนี้ถ้าจะต้องเปลี่ยนมาทำ edit in place เพื่อให้สามารถแสดง <form> ให้แก้ไขได้เลยโดยไม่ต้องสลับหน้า จึงต้องอาศัย javascript และ Ajax มาช่วย
มันจึงเกิดปัญหาขึ้นมาเพราะว่าเราไม่มีความรู้ทั้งสองเรื่องนี้เลย ลองหาดูจาก Internet ก็มีมากมายโดยเราเลือกแบบนี้มาค่ะ

<script src="js/prototype.js" type="text/javascript"></script>
<script src="js/editinplace.js" type="text/javascript"></script>
<div id="desc">click here to edit text</div>
เมื่อเราคลิกที่ข้อความใน แท็กdiv มันก็จะแสดง input type=text ให้เรากรอกข้อความใหม่ พร้อมกับมีปุ่ม submit และ cancel ให้

ปัญหามันอยู่ที่ว่า เราพยายาม เอาcode นั้นมาแก้ให้เข้ากับของเราซึ่ง
ในตัวอย่างมันน่าจะดักจับการคลิกข้อความของ element ที่มี id="desc" ในที่นี้มีแค่จุดเดียว
พอเอามาใช้กับตารางของเรา จะกลายเป็น
while($rs = mysql_fetch_array($result)){
<tr><td>$rs[code]</td><td id="desc">$rs[price]</td><td><a href="">แก้ไข</a></td></tr>
}
ซึ่งถ้าใส่ไปตรงๆแบบนี้ ก็จะทำให้ในหน้านี้ มี id="desc" เป็นร้อยๆที่ไม่สามารถรู้ได้ว่า เป็น id ของข้อมูลไหน scriptเลยผิดทำงานไม่ได้
เลยคิดต่อไปว่าถ้าใส่ให้ id="desc[]" เป็น arrayซะ เราก็จนปัญญาที่จะแก้โค้ด ในfunction ของ javascript
พอจะมีทางไหนแก้ไขได้บ้างรึเปล่าคะ เรื่องนี้ไม่รู้จริงๆค่ะ งมโข่งมาสองวันเต็มๆแล้ว

ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 21481
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: ช่วยแนะนำ EditInPlace แบบหลาย record หน่อยสิคะ

โพสต์โดย mindphp » 20/11/2008 7:23 am

ผมก็ไม่เคยลองใช้ editinplace นะครับ แต่ การอ้างเพื่อไม่ใช้มันซ้ำกัน ก็ ทำแบบนี้ก็ได้
ลอง เป็น
<div id="desc<?php echo $id;?>">click here to edit text</div>

หรือ ก็ใช้เป็น ***[] เป็นชื่อ แล้ว ระบุ id ที่ต่างกันเอา
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: viewforum.php?f=29
รับอบรม และพัฒนาระบบ: viewtopic.php?f=6&t=2042


  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ย้อนกลับไปยัง

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: 6 และ บุคคลทั่วไป 0 ท่าน