نافذة الأب:
نسخ رمز رمز على النحو التالي:
<html>
<head>
<TITLE> صفحة غير موجودة </title>
<script language = "javaScript" type = "text/javaScript">
وظيفة opendialog1 ()
{{
var somevalue = widow.showmodaldialog ("b.html" ، "" ، "dialogwidth = 500px ؛ dialogheight = 500px ؛ status = no ؛ help = no ؛ scrollbars = no") ؛
document.form1.p1t.value = someValue ؛
}
</script>
</head>
<body>
<form name = "form1" Action = "#">
<type type = "text" name = "p1t">
<type type = "button" value = "افتح مربع الحوار" onClick = "opendialog1 ()">
</form>
</body>
</html>
الريف الفرعي:
نسخ رمز رمز على النحو التالي:
<html>
<head>
<TITLE> صفحة غير موجودة </title>
<script language = "javaScript" type = "text/javaScript">
الوظيفة A ()
{{
var wname = document.form1.
parent.window.returnvalue = wname ؛
window.close () ؛
}
</script>
</head>
<body>
<form name = "form1" Action = "" >>
<type type = "text" value = "أدخل القيمة لتمرير" name = "backname" >>
<type type = "button" value = "pass" onclick = "return a ()">
</form>
</body>
</html>
---- 1. القواعد الأساسية
---- يحتوي كائن النافذة على طريقة تسمى ShowModaldialog.
<button onClick = "window.showmodaldialog
('dialog.htm') "> البحث < /button>
---- سوف يفتح النظام صفحة Dialog.htm في النافذة الجديدة وانتظر حتى يستجيب المستخدم.
---- اضبط خاصية ReturnValue لكائن النافذة في Dialog.htm للسماح للصفحة الرئيسية بالحصول على قيمة الإرجاع. على سبيل المثال ، اكتب في onclick من الزر المحدد للصفحة:
Window.RETURNVALUE = نافذة.
document.all.itpeoplid.value
---- تمكين قيمة مربع الإدخال iptpeopleid إلى خاصية ReturnValue لكائن النافذة. يمكن الحصول على هذه القيمة على الصفحة الرئيسية:
var str = showmodaldialog ("dialog1.htm")
---- 2. تمرير قيمة التهيئة
---- إذا كنت ترغب في تمرير القيمة الأولية إلى الصفحة الوسيطة ، يمكنك استخدام العبارات التالية على الصفحة الرئيسية:
var csearchvalue = showmodaldialog
("Dialog.htm" ، "ABC")
استخدم window.dialogarguments في Dialog.htm
يمكن للسمات الحصول على "ABC". على سبيل المثال:
<script for = window event = knowledge = "jscript">
if (window.dialogarguments! = null)
window.document.all.iptpeoplid.value = window.dialogarguments ؛
< /script>
---- 3. تمرير قيم متعددة
---- إذا كنت ترغب في تمرير معلمات متعددة إلى صفحة الوسائط ، يمكنك أولاً تحديد كائن على الصفحة الرئيسية ،
وظيفة mydialog () {
var str1 ؛
var str2 ؛
}
---- عرض الهدف قبل عرض الصفحة المعيارية ، ثم اتصل بطريقة showmodaldialog.
وظيفة مرحبًا بك (inistr1 ، inistr2) {{
mydialog.str1 = inistr1 ؛
mydialog.str2 = inistr2 ؛
Ifmodaldialog ("Dialog2.htm" ، mydialog)
== خطأ) //
... ...
---- في صفحة النموذج ، يمكنك استخدام هذا الرمز
window.document.all.iptid.value =
window.dialogarguments.Str1
لاقتباس القيمة ، أو استخدام هذا الرمز لتعيين قيمة
window.dialogarguments.str1 =
window.document.all.iptid.value
---- الروتين الكامل كما يلي:
---- لمعلمة واحدة فقط ، انظر: main1.htm و dialog1.htm.
---- لموقف تمرير معلمات متعددة ، انظر: Main2.htm و Dialog2.htm.
نافذة الأب:
قيمة إرجاع Dim XXX
تم تمرير المعلمة Dim Yyy إلى نافذة الطفل
var xxx = showmodaldialog ('xxx.asp' ، 'yyy' ، 'dialogwidth: 100px ؛ dialogheight = 290px ؛ الحالة: لا ")
الريف الفرعي:
معلمات Dim Yyy من نافذة الأب
معلمات Dim XXX 'من نافذة الأب
yyy = window.dialogarguments
xxx = window.RETURNVALUE
استخدام window.dialogarguments
يحتوي JavaScript على العديد من الطرق المدمجة لإنتاج مربعات الحوار ، مثل: Window.Alert () ، Window.confirm () ، Window.prompt (). ومع ذلك ، فإن IE يوفر المزيد من الطرق لدعم مربعات الحوار. يحب:
Showmodaldialog () (IE4+دعم)
showmodlessdialog () (ie5+دعم)
Window.ShowModaldialog () تستخدم لإنشاء مربع حوار معياري يعرض محتوى HTML.
Window.ShowModelessDialog () يتم استخدام طريقة مربع حوار غير مودع يعرض محتوى HTML.
عندما نفتح النافذة باستخدام showmodlessdialog () ، ليست هناك حاجة لاستخدام Window.close () لإيقافها. هو ، مربع الحوار ليس هو نفسه هو التركيز الأعلى. يحتوي مربع الحوار لطريقة Modal [IE4] دائمًا على تركيز (لا يمكن إزالة التركيز حتى يتم إغلاقه). يتم توصيل مربع الحوار الوسيط بنافذة نافذةه ، لذلك عندما نفتح نافذة أخرى ، لا تزال علاقة الارتباط الخاصة بهم محفوظة ومخفية تحت نافذة الحدث.
طريقة الاستخدام على النحو التالي:
vreturnvalue = window.showmodaldialog (surl [، varguments] [، sfeatures])))
vreturnvalue = window.showmodlessdialog (surl [، varguments] [، sfeatures])))))))))))))))))))))))
وصف المعلمة:
surl
يجب -معلمات choose ، اكتب: سلسلة. عنوان URL المستخدم لتحديد المستند المراد عرضه في مربع الحوار.
varguments
معلمات اختيارية ، اكتب: متغير. تستخدم لتمرير المعلمات إلى مربع الحوار. نوع المعلمة الذي تم تمريره بواسطة غير محدود ، بما في ذلك الصفيف ، إلخ. يحصل مربع الحوار على معلمات تم تمريرها من خلال Window.Dialogarguments.
sfeatures
معلمات اختيارية ، اكتب: سلسلة. تستخدم لوصف المظهر والمعلومات الأخرى لمربع الحوار ، يمكنك استخدام واحد أو أكثر ، واستخدام الجزء "؛"
ارتفاع مربع الحوار حوار الحوار ، لا يقل عن 100px ، حوار الحوار ومربع الحوار في IE4 هي EM ، و IE5 هو PX ، وهو مريح للطريقة المشروطة لاستخدام PX كوحدة.
Dialogwidth: عرض مربع الحوار.
Dialogleft: المسافة من يسار سطح المكتب.
الحوار: المسافة من سطح المكتب.
المركز: نعم |
مساعدة: نعم |
قابلة للإصلاح: {نعم | الافتراضي لا.
الحالة: نعم | الافتراضي هو نعم [بلا تعديل] أو لا [وسيط].
التمرير: {نعم الافتراضي هو نعم.
هناك العديد من السمات المستخدمة في HTA ، والتي لا تستخدم عمومًا في صفحات الويب العامة.
الحوار: {نعم | الافتراضي هو لا.
الحافة: {غارق |. الافتراضي هو رفع.
غير مقلوب: {نعم |
تمرير المعلمة:
إذا كنت ترغب في تمرير معلمات مربع الحوار ، فسيتم تمريره عبر varguments. النوع غير محدود. يمكنك أيضًا تمرير الكائن ، مثل:
test1.htm
==================
<script>
varmxh1 = newarray ("mxh" ، "net_lover" ، "Mencius E Chapter")
varmxh2 = window.open ("about: blank" ، "window_mxh")
// إرسال صفيف إلى مربع الحوار
Window.ShowModaldialog ("Test2.htm" ، MXH1)
// نقل كائن النافذة إلى مربع الحوار
Window.ShowModaldialog ("Test3.htm" ، MXH2)
</script>
Test2.htm
==================
<script>
vara = window.dialogarguments
التنبيه ("المعلمات التي تمر بها هي:"+أ)
</script>
Test3.htm
==================
<script>
vara = window.dialogarguments
التنبيه ("المعلمة التي مررت بها هي كائن النافذة ، الاسم:"+A.Name)
</script>
يمكنك إرجاع المعلومات إلى نافذة مربع الحوار من خلال Window.ReturnValue ، بالطبع ، يمكن أن يكون أيضًا كائنًا. على سبيل المثال:
Test4.htm
==================
<script>
vara = window.showmodaldialog ("test5.htm")
لـ (i = 0 ؛ i <a.length ؛ i ++) تنبيه (a [i])
</script>
Test5.htm
==================
<script>
FunctionSendto ()
{{
vara = newaray ("A" ، "B")
Window.RETURNVALUE = أ
window.close ()
}
</script>
<body>
<Porm>
<pectevalue = "type = buttonOnClick =" sendto () ">
</form>
المشاكل الشائعة:
1. كيفية إرساله في مربع الحوار الوسيط دون فتح نافذة جديدة؟
إذا كان متصفحك هو IE5.5+، فيمكنك استخدام iFrame مع سمات الاسم في مربع الحوار ، ويمكنك صياغة اسم الهدف إلى iframe في وقت التقديم. لـ IE4+، يمكنك استخدام ارتفاع 0 إلى الإطار: مثال ،
Test6.htm
==================
<script>
Window.ShowModaldialog ("Test7.htm")
</script>
Test7.htm
==================
if (window.location.search) ALERT (window.location.search)
<FramesetRows = "0 ،*">
<pramesrc = "About: Blank">
<pramesrc = "test8.htm">
</frameet>
Test8.htm
==================
<formtarget = "_ self" method = "get">
<inputName = txtValue = "Test">
<inputType = إرسال>
</form>
<script>
if (window.location.search) ALERT (window.location.search)
</script>
2. هل يمكنني تمرير المعلمات مباشرة إلى مربع الحوار من خلال http: //servername/virtualdirname/test.htm؟
الجواب ليس كذلك. لكنه ممكن في الإطار.