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

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

Moderator: mindphp

nupha45
PHP Jr. Member
PHP Jr. Member
Posts: 13
Joined: 13/08/2008 7:59 pm

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

Post by nupha45 »

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

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

Code: Select all

</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]

User avatar
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
Posts: 24743
Joined: 22/09/2008 6:18 pm
Contact:

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

Post by 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

Post Reply
  • Similar Topics
    Replies
    Views
    Last post

Return to “JavaScript & Jquery Ajax”

Who is online

Users browsing this forum: No registered users and 1 guest