JavaScript แบ่งออกเป็นกล่องโต้ตอบโหมดและกล่องโต้ตอบที่ไม่ใช่โหมด ในความเป็นจริงความแตกต่างระหว่างทั้งสองคือผู้ใช้สามารถทำงานได้ที่อื่นในหน้าเดียวกันก่อนที่กล่องโต้ตอบจะปิดหรือไม่ ตัวอย่างเช่นกล่องโต้ตอบ "เปิดไฟล์" เป็นกล่องโต้ตอบโหมดทั่วไป คุณสามารถดำเนินการอื่น ๆ ในโปรแกรมที่เปิดกล่องโต้ตอบ แต่ไม่ใช่กล่องโต้ตอบโหมด
กล่องโต้ตอบโหมด: showmodaldialog
กล่องโต้ตอบที่ไม่ใช่โหมด: showModelessDialog
vreturnValue = window.showmodaldialog (surl [, varguments] [, sfeatures])
vreturnValue = window.showModelessDialog (surl [, varguments] [, sfeatures])
ค่าส่งคืน: VreturnValue ซึ่งแน่นอนว่าค่าส่งคืนที่ส่งคืนโดยกล่องโต้ตอบ;
Surl: จำเป็นสำหรับหน้าคุณต้องการเปิด;
varguments-
พารามิเตอร์เสริมประเภท: ตัวแปร ใช้เพื่อส่งผ่านพารามิเตอร์ไปยังกล่องโต้ตอบ ประเภทพารามิเตอร์ที่ผ่านไม่ได้ จำกัด รวมถึงอาร์เรย์ ฯลฯ กล่องโต้ตอบใช้ Window.Dialogarguments เพื่อรับพารามิเตอร์ที่ผ่าน
sfeatures-
พารามิเตอร์เสริมประเภท: สตริง ข้อมูลที่ใช้เพื่ออธิบายการปรากฏตัวของกล่องโต้ตอบเช่นข้อมูลต่อไปนี้สามารถคั่นด้วยเครื่องหมายอัฒภาค ";"
1.dialogheight: ความสูงของกล่องโต้ตอบไม่น้อยกว่า 100px หน่วยเริ่มต้นของ Dialogheight และ Dialogwidth ใน IE4 คือ EM และ PX ใน IE5 คือ PX เพื่อความสะดวกเมื่อกำหนดกล่องโต้ตอบในวิธีการโมดอล PX จะถูกใช้เป็นหน่วย
2.dialogwidth: กล่องโต้ตอบความกว้าง
3.DialogLeft: ระยะทางจากด้านซ้ายของหน้าจอ
4.dialogtop: ระยะทางจากหน้าจอ
5. Center: {ใช่ | ไม่ | 1 | 0}: ไม่ว่าจะเป็นหน้าต่างอยู่กึ่งกลางค่าเริ่มต้นคือใช่ แต่ยังสามารถระบุความสูงและความกว้างได้
6.Help: {ใช่ | ไม่ | 1 | 0}: ไม่ว่าจะแสดงปุ่มช่วยเหลือหรือไม่ค่าเริ่มต้นคือใช่
7. Resizable: {ใช่ | ไม่ | 1 | 0} [IE5+]: ขนาดสามารถเปลี่ยนแปลงได้หรือไม่ หมายเลขเริ่มต้น
8. Status: {ใช่ | ไม่ | 1 | 0} [IE5+]: จะแสดงแถบสถานะหรือไม่ ค่าเริ่มต้นคือใช่ [modeless] หรือไม่มี [modal]
9.Scroll: {ใช่ | ไม่ | 1 | 0 | บน | ปิด}: ระบุว่ากล่องโต้ตอบแสดงแถบเลื่อนหรือไม่ ค่าเริ่มต้นคือใช่
คุณลักษณะต่อไปนี้ใช้ใน HTA และโดยทั่วไปจะไม่ใช้ในหน้าเว็บทั่วไป
10.dialoghide: {ใช่ | ไม่ | 1 | 0 | บน | ปิด}: ไม่ว่าจะเป็นกล่องโต้ตอบเมื่อซ่อนหรือพิมพ์ตัวอย่าง ค่าเริ่มต้นคือไม่
11.edge: {Sunken | ยกขึ้น}: ระบุสไตล์เส้นขอบของกล่องโต้ตอบ ค่าเริ่มต้นจะถูกยกขึ้น
12.Unadorned: {ใช่ | ไม่ | 1 | 0 | บน | ปิด}: ค่าเริ่มต้นคือไม่
พารามิเตอร์ผ่าน:
1. หากคุณต้องการส่งพารามิเตอร์ในกล่องโต้ตอบมันจะถูกส่งผ่าน Varguments ไม่มีข้อ จำกัด เกี่ยวกับประเภทสำหรับประเภทสตริงสูงสุดคือ 4096 อักขระ วัตถุสามารถผ่านได้เช่น:
-
parent.htm
<script> var obj = วัตถุใหม่ (); obj.name = "51js"; window.showModaldialog ("modal.htm", obj, "dialogwidth = 200px; dialogheight = 100px"); </script>modal.htm
<script> var obj = window.dialogarguments Alert ("พารามิเตอร์ที่คุณผ่านคือ:" + obj.name) </script>-
2. คุณสามารถส่งคืนข้อมูลไปยังหน้าต่างที่กล่องโต้ตอบถูกเปิดผ่านหน้าต่างกลับมาและแน่นอนว่ามันสามารถเป็นวัตถุได้ ตัวอย่างเช่น:
-
parent.htm
<script> str = window.showmodaldialog ("modal.htm" ,, "dialogwidth = 200px; dialogheight = 100px"); การแจ้งเตือน (STR); </script>modal.htm
<script> window.returnValue = "http://www.51js.com"; </script>
หลังจากใช้ Window.ShowModaldialog หรือ Window.ShowModelessDialog เพื่อเปิดหน้าต่างโหมดปัญหาการโต้ตอบบางอย่างกับหน้าต่างหลัก
สำหรับการดำเนินการแบบโต้ตอบเมื่อเรียกใช้วิธี showmodaldialog หรือ showmodelessDialog พารามิเตอร์ที่สองจะถูกส่งผ่านไปยังหน้าต่างเช่น:
window.showModelessDialog ('filename.htm', หน้าต่าง, 'dialogwidth = 200px; dialogheight = 250px;')
ถัดไปคือการได้รับข้อมูลและวิธีการบางอย่างของหน้าต่างหลัก สิ่งนี้มักใช้ พารามิเตอร์ของหน้าต่างพาเรนต์ที่ใช้หน้าต่างลูกโดยทั่วไปสามารถจัดการได้โดย returnValue
// รับหน้าต่างตัวแปร js var.dialogarguments.var ของหน้าต่างหลัก; // รับวัตถุและแอตทริบิวต์ของหน้าต่างหน้าต่างพาเรนต์ dialogarguments.form1.name.value; // โทรหาวิธีการของหน้าต่างแม่ funwinwindow.dialogarguments.fun ();