Vaters Fenster:
Kopieren Sie den Code -Code wie folgt:
<html>
<kopf>
<title> Nicht -Title -Seite </title>
<script Language = "javaScript" Typ = "text/javaScript">
Funktion Opendialog1 ()
{{{{
Var irgendwann = widow.showModaldialog ("B.html", "", "dialogwidth = 500px; dialogHeight = 500px; Status = no; help = no; scrollBars = no");
document.form1.p1t.value = seltener;
}
</script>
</head>
<body>
<Formular name = "Form1" action = "#">
<Eingabe type = "text" name = "p1t">
<input type = "button" value = "Öffnen Sie das Dialogfeld" onclick = "Opendialog1 ()">
</form>
</body>
</html>
Sub -Window:
Kopieren Sie den Code -Code wie folgt:
<html>
<kopf>
<title> Nicht -Title -Seite </title>
<script Language = "javaScript" Typ = "text/javaScript">
Funktion a ()
{{{{
var wname = document.form1.
Parent.Window.ReturnValue = Wname;
Fenster.CLOSE ();
}
</script>
</head>
<body>
<Formular name = "Form1" action = "" >>
<Eingabe type = "text" value = "Geben Sie den Wert ein, um" name = "Backname" >> zu bestehen
<Eingabe type = "Taste" value = "Pass" onclick = "return a ()">
</form>
</body>
</html>
---- 1. Grundgrammatik
---- Fensterobjekt hat eine Methode namens ShowModaldialog.
<Button onclick = "window.showmodaldialog
('dialog.htm') "> suche < /button>
---- Das System öffnet das Dialog.htm-Seite im neuen Fenster und wartet, bis der Benutzer nicht reagiert.
---- Setzen Sie die Eigenschaft returnValue des Fensterobjekts in dialog.htm, damit die Startseite den Rückgabewert abrufen kann. Schreiben Sie beispielsweise in die Einklick der festgelegten Schaltfläche der Seite:
Fenster.ReturnValue = Fenster.
document.all.itpeoplid.value
---- Ermächtigen Sie den Wert des Eingabefeldes iptpeopleis für die Eigenschaft returnValue des Fensterobjekts. Dieser Wert kann auf der Homepage erhalten werden:
var str = showmodaldialog ("Dialog1.htm")
---- 2. Übergeben Sie den Initialisierungswert
---- Wenn Sie den Anfangswert an die modale Seite übergeben möchten, können Sie die folgenden Aussagen auf der Homepage verwenden:
var csearchValue = showmodaldialog
('Dialog.htm', 'ABC')
Verwenden Sie Window.Dialogargumente im Dialog.htm
Attribute können 'ABC' erhalten. Zum Beispiel:
<Skript für = Fenster Ereignis = Knowledge = "Jscript">
if (window.dialogarguments! = null)
Window.document.all.iptpeoplid.value = window.dialogargumente;
< /Script>
---- 3. Übergeben Sie mehrere Werte
---- Wenn Sie mehrere Parameter an die modale Seite übergeben möchten, können Sie zunächst ein Objekt auf der Homepage definieren.
Funktion myDialog () {
Var str1;
Var str2;
}
---- Zeigen Sie das Ziel an, bevor Sie die modulare Seite anzeigen, und rufen Sie dann die Showmodaldialog-Methode auf.
Funktion Welcomeyou (Inistr1, Inistr2) {{{{{{{{
myDialog.str1 = Inistr1;
MyDialog.str2 = Inistr2;
IfModaldialog ("Dialog2.htm", MyDialog)
== falsch) //
... ...
---- Auf der Modellseite können Sie diesen Code verwenden
window.document.all.iptid.value =
Window.dialogarguments.str1
Um den Wert zu zitieren oder diesen Code zu verwenden, um einen Wert an zuzuweisen
Window.dialogargumente.str1 =
window.document.all.iptid.value
---- Die vollständige Routine lautet wie folgt:
---- Für nur einen Parameter siehe: Main1.htm und Dialog1.htm.
---- Für die Situation, mehrere Parameter zu übergeben, siehe: main2.htm und dialog2.htm.
Vaterfenster:
Dim XXX 'Rückgabewert
Dim Yyy 'Parameter, das an das Kinderfenster übergeben wurde
var xxx = showmodaldialog ('xxx.asp', 'yyy', 'dialogwidth: 100px; dialogHeight = 290px; Status: Nein')
Sub -Window:
Dim Yyys Parameter aus dem Vaterfenster
Dim XXX 'Parameter des Fensters des Vaters
yyy = window.dialogargumente
xxx = window.returnValue
Verwendung von Fenster.Dialogargumente
In JavaScript wurden viele Methoden erstellt, um Dialogfelder zu erstellen, wie z. Der IE bietet jedoch mehr Möglichkeiten, Dialogfelder zu unterstützen. wie:
Showmodaldialog () (IE4+Unterstützung)
ShowModelessDialog () (IE5+Unterstützung)
Die Methode von windowmodaldialog () wird verwendet, um ein modulares Dialogfeld zu erstellen, in dem der HTML -Inhalt angezeigt wird.
Window.ShowModelessDialog () -Methode wird verwendet, um ein nicht -modales Dialogfeld zu erstellen, in dem HTML -Inhalt angezeigt wird.
Wenn wir das Fenster mit ShowmodelessDialog () öffnen, müssen Sie kein Fenster verwenden. Das Dialogfeld ist nicht immer der gleiche Fokus. Das Dialogfeld der modalen [IE4] -Methode hat immer einen Fokus (der Fokus kann nicht entfernt werden, wenn es geschlossen ist). Das modale Dialogfeld ist mit dem Fenster seines Fensters verbunden. Wenn wir also ein anderes Fenster öffnen, bleibt ihre Verknüpfungsbeziehung im Ereignisfenster noch erhalten und versteckt.
Die Anwendungsmethode ist wie folgt:
vreturnValue = window.showModaldialog (Surl [, Vargumente] [, SFeatures])))
vreturnValue = window.showmodelessDialog (Surl [, Vargumente] [, sFeatures]))))
Parameterbeschreibung:
Surl
MUSS -CHLOSE -Parameter, Typ: String. Die URL wurde verwendet, um das Dokument im Dialogfeld anzugeben.
Vargumente
Optionale Parameter, Typ: Variante. Wird verwendet, um Parameter an das Dialogfeld zu übergeben. Der von übergebene Parametertyp ist nicht begrenzt, einschließlich Array usw. Das Dialogfeld erhält Parameter, die durch Fenster übergeben wurden. Dialogargumente.
Sfeatures
Optionale Parameter, Typ: String. Verwendet, um das Erscheinungsbild und andere Informationen des Dialogfelds zu beschreiben, können Sie eine oder mehrere unten verwenden und das Segment verwenden.
DialogHeight -Dialogfeld Höhe, mindestens 100px, DialogHeight und Dialogwidth in IE4 sind EM, und IE5 ist PX, was für die modale Methode, PX als Einheit zu verwenden, bequem ist.
Dialogwidth: Dialogfeld Breite.
Dialogleft: Entfernung von links vom Desktop.
Dialogtop: Entfernung vom Desktop.
Mitte: {Ja |.
Hilfe: {Ja |.
Resizier: {Ja |. Die Standardnummer.
Status: {Ja |. Die Standardeinstellung ist Ja [modlos] oder nein [Modal].
Scroll: {Ja | Der Standard ist ja.
In HTA werden mehrere Attribute verwendet, die im Allgemeinen nicht auf allgemeinen Webseiten verwendet werden.
Dialoghide: {Ja | Der Standard ist nein.
REDE: {gesunken |. Der Standard ist erhöht.
Uneduled: {Ja |
Parameter passieren:
Wenn Sie die Parameter des Dialogfelds übergeben möchten, wird es durch Vargumente weitergeleitet. Der Typ ist nicht begrenzt. Sie können das Objekt auch übergeben, z. B.:
Test1.htm
===================
<Script>
varmxh1 = newArray ("mxh", "net_lover", "Mencius e Kapitel")
varmxh2 = window.open ("über: leer", "window_mxh")
// Senden Sie ein Array an das Dialogfeld
Window.showmodaldialog ("test2.htm", mxh1)
// Fensterobjekt über das Dialogfeld übertragen
Window.showmodaldialog ("test3.htm", mxh2)
</script>
test2.htm
===================
<Script>
Vara = window.dialogargumente
alarm ("Die Parameter, die Sie übergeben, sind:"+a)
</script>
test3.htm
===================
<Script>
Vara = window.dialogargumente
alert ("Der Parameter, den Sie übergeben haben, ist Fensterobjekt, Name:"+A.Name)
</script>
Sie können die Informationen über das Fenster an das Fenster des Dialogfelds zurückgeben. ReturnValue kann natürlich auch ein Objekt sein. Zum Beispiel:
test4.htm
===================
<Script>
Vara = window.showmodaldialog ("test5.htm")
für (i = 0; i <a.länge; i ++) alarm (a [i])
</script>
test5.htm
===================
<Script>
FunctionSendTO ()
{{{{
Vara = newaray ("a", "b")
Fenster.ReturnValue = a
window.close ()
}
</script>
<body>
<form>
<inputValue = "type = buttononclick =" sendTo () ">
</form>
Häufige Probleme:
1. Wie kann ich es im Dialogfeld modal einreichen, ohne ein neues Fenster zu öffnen?
Wenn Ihr Browser IE5.5+ist, können Sie IFrame mit Namensattributen im Dialogfeld verwenden und den Namen des Ziels zum Zeitpunkt der Einreichung formulieren. Für IE4+können Sie die Höhe von 0 bis zum Rahmen verwenden: Beispiel,
test6.htm
===================
<Script>
Window.showmodaldialog ("test7.htm")
</script>
test7.htm
===================
if (window.location.search) alert (window.location.search)
<Framesetrows = "0,*">
<salmesrc = "über: blank">
<Ramramesrc = "test8.htm">
</Frameset>
test8.htm
===================
<Formtarget = "_ self" "methode =" get ">
<inputName = txtValue = "test">
<InputType = Subjekt>
</form>
<Script>
if (window.location.search) alert (window.location.search)
</script>
2. Kann ich die Parameter direkt an das Dialogfeld über http: //servername/virtualdirname/test.htm übergeben?
Die Antwort ist nicht. Aber es ist im Rahmen möglich.