จาก HowTo เปลี่ยน div ให้เป็น input เมือคลิก เมื่อต้องการให้มี 2

21 ม.ค. 2552 3 3,274

ปัญหาคือ id มันจะซ้ำกันครับ ทำให้ใช้ได้แค่เพียงฟอร์มเดียว การแก้ไขในเบื้องต้น อาจต้องใช้วิธีส่งค่าเพิ่มเติมเพื่อระบุว่าฟอร์มไหนครับ

ตัวแปรที่อาจเป็นปัญหาก็คือ var id = obj.id + 'Text'; ครับที่อาจซ้ากันได้ เราอาจกำหนดให้ค่านี้ถูกส่งมาาจากตอนคลิกก็ได้ครับ เพื่อที่จะสามารถควบคุมได้ครับ

เช่น divclick(this. 'Text1') แ้ล้วก็เอาค่า Text1 ไปใช้ในฟังก์ชั่นแทน ส่วนฟอร์มอื่นก็ให้เปลี่ยน Text1 เป็น Text2 ไปเรื่อยๆ ครับ
#1

#2

การดัดแปลงต้องกำหนดค่าต่างๆให้สัมพันธ์กันด้วยครับเนื่องจากมันต้องใช้อ้างอิงถึงกันตลอดโปรแกรม

ห้ามใช้เป็น Array นะครับเนื่องจาก Javascript จะหาไม่เจอ

<input type="hidden" name="userValue" id="userValue" value="goragod" />

input ด้านบนก็เช่นกันครับ ที่ต้องกำหนดให้ถูกต้อง เนื่องจากมีซ้ำกัน 2 ฟอร์ม ก็จะมีไอดีนี้ 2 ตัว javascript จะ error ได้ครับ ยกตัวอย่าง ก็อาจเปลี่ยนเป็น userText1 เพื่อให้สอดคล้องกับค่าที่ส่ง (เอาแนวทางไปดัดแปลงนะครับ)

ถ้าไม่เข้าใจ ก็มีวิธีที่ง่ายกว่าครับ โดยการสร้างทั้งฟอร์มและฟังก์ชั่น ออกเป็น 2 ชุดเลยครับ ทำงานแยกกันไปเลย โดยมีความสำคัญที่จ้องเปลี่ยน ชื่อฟังก์ชั่น ชื่อ input ต่างๆให้ต่างกันครับ แต่วิธีนี้ก็เหมาะกับฟอร์มจำนวนน้อยๆครับ
#3
ความคิดเห็น
ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 1024
^