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

พูดคุยแลกเปลี่ยน ปัญหา การเขียน JavaScript เครื่องมือ AJAX Web 2.0 AJAX Framework jQuery และ Node.JS รวมถึง Framework Express ของ Node.JS ทำงานฝั่ง Server

Moderator: mindphp

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

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

โพสต์ที่ยังไม่ได้อ่าน โดย nupha45 »

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

while($rs = mysql_fetch_array($result)){
<tr><td>$rs

โค้ด: เลือกทั้งหมด

</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 [color=#FF0000]id="desc"[/color]>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 [color=#FF0000]id="desc"[/color]>$rs[price]</td><td><a href="">แก้ไข</a></td></tr>
}
[color=#FF4080][b]ซึ่งถ้าใส่ไปตรงๆแบบนี้ ก็จะทำให้ในหน้านี้ มี id="desc" เป็นร้อยๆที่ไม่สามารถรู้ได้ว่า เป็น id ของข้อมูลไหน scriptเลยผิดทำงานไม่ได้
เลยคิดต่อไปว่าถ้าใส่ให้ id="desc[]" เป็น arrayซะ เราก็จนปัญญาที่จะแก้โค้ด ในfunction ของ javascript
พอจะมีทางไหนแก้ไขได้บ้างรึเปล่าคะ เรื่องนี้ไม่รู้จริงๆค่ะ งมโข่งมาสองวันเต็มๆแล้ว[/b][/color]
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41131
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

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

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

ผมก็ไม่เคยลองใช้ 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
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ตอบกลับโพส
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

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

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 41