สามารถรับค่าส่งคืนของ showModalDialog ได้ภายใต้ IE และ Firefox แต่จะส่งกลับค่า Null ภายใต้ Google Chrome วิธีแก้ปัญหามีดังต่อไปนี้
หน้าหลัก:
คัดลอกรหัสรหัสดังต่อไปนี้:
ฟังก์ชั่น openwindows(){
var obj = วัตถุใหม่ ();
//เปิดฟอร์มย่อยและรับค่าที่ส่งคืน
var retval = window.showModalDialog("ordervideo.jsp?rderIds="+"0010,0020,0030",obj,"dialogWidth=500px;dialogHeight=500px");
//สำหรับโครเมียม
ถ้า (retval == ไม่ได้กำหนด) {
retval = window.returnValue;
-
การแจ้งเตือน (การตอบโต้);
-
หน้าย่อย:
คัดลอกรหัสรหัสดังต่อไปนี้:
ฟังก์ชั่นออนโหลด(){
//สำหรับโครเมียม
if(window.opener != undefinition) { //ค่าของ window.opener ไม่ว่างเปล่าใน Google Chrome แต่ไม่ได้กำหนดไว้ภายใต้ IE/Firefox ดังนั้นคุณจึงสามารถตัดสินได้ว่าเป็น Google Chrome หรือไม่
window.opener.returnValue = flag; //วิธีกำหนดค่าที่ส่งคืนใน Google Chrome window.opener.close(); //จะต้องปิดหนึ่งครั้ง มิฉะนั้นจะไม่สามารถปิดหน้าต่างป๊อปอัปได้โดยดำเนินการในหน้าต่างต่อไปนี้ .close() เนื่องจากหน้าต่างป๊อปอัปใต้ Google Chrome เป็นหน้าต่างใหม่
-
อื่น {
window.returnValue=flag; // วิธีการมอบหมายนี้เข้ากันได้กับ IE/Firefox แต่ไม่รองรับ Google Chrome
-
หน้าต่าง.ปิด();
-