1. โดยปกติแล้วเราใช้การถ่ายโอนค่า url เพื่อถ่ายโอนข้อมูลบางส่วนที่มีข้อมูลจำนวนเล็กน้อย เช่น พารามิเตอร์บางตัว ฯลฯ และใช้เซสชันเพื่อถ่ายโอนตัวแปรระดับเซสชันส่วนกลางบางตัว แต่ถ้าคุณต้องการถ่ายโอนข้อมูลที่ซับซ้อนมากขึ้นระหว่างแบบฟอร์ม วงจรชีวิตของเซสชันจะยาวเกินไปและอาจไม่เหมาะสม เมื่อใช้ URL เพื่อถ่ายโอนค่า อาจเกิดข้อผิดพลาดในการเข้ารหัสเป็นอักขระภาษาจีน และจำนวนข้อมูลสูงสุดที่สามารถถ่ายโอนได้ค่อนข้างจำกัด
2. เราสามารถใช้แอตทริบิวต์ DialogArguments ของกล่องโต้ตอบ Modal เพื่อให้เกิดการถ่ายโอนข้อมูลข้ามหน้า
คุณสมบัติไดอะล็อกอาร์กิวเมนต์ของกล่องโต้ตอบโมดอลสามารถรับได้ด้วยวิธีต่อไปนี้:
ตัวแปร var = window.dialogArguments
ใช้คุณสมบัตินี้เพื่อรับพารามิเตอร์ขาเข้าของกล่องโต้ตอบโมดอล ซึ่งอาจเป็นค่าสตริง ตัวเลข วัตถุ หรืออาร์เรย์ที่ระบุอาร์กิวเมนต์ โดยเฉพาะอย่างยิ่งพารามิเตอร์วัตถุหรืออาร์เรย์มีประโยชน์มากในการส่งข้อมูลระหว่างเพจ ตัวอย่างจะเป็นดังนี้:
หน้าที่เข้ามา:
<HTML>
<หัว>
<สคริปต์>
ฟังก์ชั่น AddNew (meetingID) {
var obj=วัตถุใหม่();
obj.name="qiubinchao";
obj.tel="12345678"; var strUrl="../MeetingManage/NewMeeting.aspx?id="+meetingID; window.showModalDialog(strUrl,obj,"dialogHeight:700px;dialogWidth=900px;dialogTop=10px;dialogLeft: 50px;"); window.location="../MeetingManage/MeetingPublishedList.aspx"; }
</สคริปต์>
</HEAD>
<ร่างกาย>
<BUTTON onclick="AddNew();" >เปิดหน้าต่าง</BUTTON>
</ร่างกาย>
</HTML>
หน้ารับ:
<HTML>
<หัว>
<สคริปต์>
var oMyObject = window.dialogArguments;
ชื่อ var= oMyObject.name;
var tel= oMyObject.tel;
</สคริปต์>
<title>ไม่มีชื่อ</title>
</หัว>
<BODY STYLE="font-family: arial; font-size: 14pt; color: หิมะ;
สีพื้นหลัง: RosyBrown;">
ชื่อ:
<SPAN STYLE="สี:00ff7f">
<สคริปต์>
document.write(ชื่อ);
</สคริปต์>
</SPAN>
<บีอาร์>
โทร:
<SPAN STYLE="สี:00ff7f">
<สคริปต์>
เอกสารเขียน(โทร);
</สคริปต์>
</SPAN>
</ร่างกาย>
</HTML>