ส่งค่าจากหน้าต่างป๊อปอัพไปยังหน้าต่างหลัก

อ่านหัวข้อแล้วบางคนอาจจะงง ว่ามันคืออะไร ในที่นี้ถ้าเข้าใจง่ายๆ ก็คือวิธีการส่งค่าจากหน้าต่าง Popup (Child window)  ไปยังหน้าต่างที่เปิด Popup นั้น (Parent window)  ในที่นี้ขอเรียกว่า หน้าต่างป๊อปอัพ และหน้าต่างหลักนะครับ

จากหน้าต่างป๊อปอัพ เมื่อถูกเปิดขึ้นแล้ว เราจะสามารถส่งค่างต่าไปยังหน้าต่างหลักได้โดยใช้ JavaScript  เราจะเรียกหน้าต่างหลักว่า opener ดังนั้น หน้าต่างป๊อปอัพจะส่งค่าไปได้โดยใช้ opener.document


เพื่อความเข้าใจ
สมมติให้ฟอร์มจากหน้าต่างหลักชื่อ frm1 และกล่องข้อความ(textbox) ที่เราจะใช้รับค่ามาชื่อ p_value ดังนั้นจากหน้าต่างป๊อปอัพเราเข้าถึงกล่องข้อความในหน้าต่างหลักได้โดยใช้

แต่ถ้าหากเราต้องการส่งค่าจากวัตถุ(object) อื่นๆในหน้าต่างป๊อปอัพ ไปยังหน้าต่างหลักได้โดยการอ้างถึงวัตถุนั้นๆ ยกตัวอย่างเช่นต้องการส่งค่าจาก c_value ในหน้าต่างป๊อปอัพไป เราจะใช้ได้ว่า

เราสามารถใส่ไว้ในฟังก์ชั่น และเรียกฟังก์ชั่นจาก onclick ของปุ่มได้ และหลังจากส่งค่าแล้ว เราสามารถสั่งให้ปิดหน้าต่างป๊อปอัพได้ด้วย

ตัวอย่างนะครับ คลิกที่ข้อความเพื่อเปิดป๊อปอัพ และใส่ข้อมูลลงในหน้าต่างป๊อปอัพ และเมื่อกดส่งข้อมูล ข้อมูลก็จะมาอยู่ที่หน้าต่างหลักนี้ครับ

เปิดป๊อปอัพ

นี่คือตัวอย่างโค้ดของหน้าต่างหลัก

 

และนี่คือตัวอย่างโค้ดของหน้าต่างป๊อปอัพ

ลองนำไปประยุกต์ดูนะครับ

2 Replies to “ส่งค่าจากหน้าต่างป๊อปอัพไปยังหน้าต่างหลัก”

  1. MIX :Code มันเสียนิดหน่อยนะครับ

    แก้ไขตัวอย่างโค้ดเรียบร้อยแล้วครับ 🙂 (พอดีอัพเกรด plugin เลยแสดงผลผิดนิดหน่อย)

Leave a Reply

Your email address will not be published. Required fields are marked *

*