Fenêtre du père:
Copier le code du code comme suit:
<html>
<adal>
<Title> Page non-title </TITME>
<script lingots = "javascript" type = "text / javascript">
Fonction openDialog1 ()
{{
Var someValue = widow.showmodaldialog ("b.html", "", "DialogWidth = 500px; dialogHeight = 500px; status = no; help = no; scrollbars = no");
document.form1.p1t.value = SomeValue;
}
</cript>
</ head>
<body>
<Form name = "form1" action = "#">
<input type = "text" name = "p1t">
<entrée type = "bouton" value = "Ouvrir la boîte de dialogue" onClick = "OpenDialog1 ()">
</ form>
</docy>
</html>
Sub -window:
Copier le code du code comme suit:
<html>
<adal>
<Title> Page non-title </TITME>
<script lingots = "javascript" type = "text / javascript">
Fonction a ()
{{
var wname = document.form1.
Parent.window.returnvalue = wname;
window.close ();
}
</cript>
</ head>
<body>
<Form name = "form1" action = "" >>
<input type = "text" value = "Entrez la valeur pour passer" name = "backname" >>
<input type = "bouton" value = "pass" onclick = "return a ()">
</ form>
</docy>
</html>
---- 1. Grammaire de base
---- L'objet Window a une méthode appelée ShowModaldialog.
<Bouton onclick = "window.showmodaldialogique
('Dialog.htm') "> Rechercher </fontificateur>
---- Le système ouvrira la page de dialogue.htm dans la nouvelle fenêtre et attendra que l'utilisateur réponde.
---- Définissez la propriété ReturnValue de l'objet Window dans Dialog.htm pour permettre à la page d'accueil d'obtenir la valeur de retour. Par exemple, écrivez dans l'onclick du bouton déterminé de la page:
Window.ReturnValue = Window.
document.all.itpeoplid.value
---- Autonomiser la valeur de la boîte d'entrée iptpeopleid sur la propriété returnValue de l'objet Window. Cette valeur peut être obtenue sur la page d'accueil:
var str = showModaldialog ("Dialog1.htm")
---- 2. Passez la valeur d'initialisation
---- Si vous souhaitez passer la valeur initiale à la page modale, vous pouvez utiliser les instructions suivantes sur la page d'accueil:
var csearchvalue = showmodaldialogique
('Dialog.htm', 'ABC')
Utilisez la fenêtre.dialogarguments dans Dialog.htm
Les attributs peuvent obtenir «ABC». Par exemple:
<Script pour = window event = Knowledge = "JScript">
if (window.dialogarguments! = null)
Window.Document.all.iptpeoplid.value = window.dialogarguments;
</cript>
---- 3. Passer plusieurs valeurs
---- Si vous souhaitez transmettre plusieurs paramètres à la page modale, vous pouvez d'abord définir un objet sur la page d'accueil,
fonction myDialog () {
Var str1;
Var str2;
}
---- Affichez la cible avant d'afficher la page modulaire, puis appelez la méthode ShowModaldialog.
Fonction welcomeyou (inist1, inist2) {{{
myDialog.str1 = inist1;
MyDialog.str2 = inist2;
ifmodaldialog ("dialog2.htm", mydialog)
== false) //
... ...
---- Dans la page du modèle, vous pouvez utiliser ce code
window.document.all.iptid.value =
Window.dialogarguments.str1
Pour citer la valeur, ou utiliser ce code pour attribuer une valeur à
Window.dialogarguments.str1 =
window.document.all.iptid.value
---- La routine complète est la suivante:
---- Pour un seul paramètre, voir: main1.htm et dialog1.htm.
---- Pour la situation de passage de plusieurs paramètres, voir: Main2.htm et dialog2.htm.
Fenêtre de père:
Valeur de retour DIM XXX
Le paramètre Dim Yyy est passé à la fenêtre de l'enfant
var xxx = showmodaldialog ('xxx.asp', 'yyy', 'dialogwidth: 100px; dialogheight = 290px; status: no')
Sub -window:
Les paramètres de Dim Yyy de la fenêtre du père
Paramètres dim xxx 'de la fenêtre du père
yyy = window.dialogarguments
xxx = window.returnvalue
Utilisation de la fenêtre.Dialogarguments
JavaScript propose de nombreuses méthodes construites pour produire des boîtes de dialogue, telles que: Window.Alert (), Window.Confirm (), Window.prompt (). Cependant, IE fournit plus de façons de prendre en charge les boîtes de dialogue. comme:
ShowModaldialog () (IE4 + Support)
ShowModelessDialog () (IE5 + Support)
Window.showmodaldialog () est utilisé pour créer une boîte de dialogue modulaire qui affiche le contenu HTML.
Window.showModelessDialog () est utilisée pour créer une boîte de dialogue non modale qui affiche le contenu HTML.
Lorsque nous ouvrons la fenêtre avec ShowModelessDialog (), il n'est pas nécessaire d'utiliser la fenêtre.close () pour le désactiver. est, la boîte de dialogue n'est pas toujours la même que c'est la focalisation supérieure. La boîte de dialogue de la méthode modale [IE4] a toujours une focalisation (l'objectif ne peut pas être supprimé jusqu'à ce qu'il soit fermé). La boîte de dialogue modale est connectée à la fenêtre de sa fenêtre, donc lorsque nous ouvrons une autre fenêtre, leur relation de liaison est toujours conservée et cachée sous la fenêtre de l'événement.
La méthode d'utilisation est la suivante:
vreTurnValue = window.showmodaldialog (Surl [, varguments] [, sfeatures]))
vreTurnValue = window.showModelessDialog (Surl [, varguments] [, sfeatures]))))
Description du paramètre:
Surl
MUST -CHOOSE Paramètres, Type: String. URL utilisé pour spécifier le document à afficher dans la boîte de dialogue.
varguments
Paramètres facultatifs, type: variante. Utilisé pour transmettre des paramètres à la boîte de dialogue. Le type de paramètre passé n'est pas limité, y compris le tableau, etc. La boîte de dialogue obtient des paramètres transmis par la fenêtre.dialogarguments.
sfeatures
Paramètres facultatifs, type: chaîne. Utilisé pour décrire l'apparence et d'autres informations de la boîte de dialogue, vous pouvez utiliser un ou plusieurs ci-dessous et utiliser le segment ";"
Dialogneight Boîte de dialogue Hauteur, pas moins de 100px, la valeur de dialogue et la largeur de dialogue dans IE4 sont EM, et IE5 est PX, ce qui est pratique pour la méthode modale pour utiliser PX comme unité.
Dialogue de dialogue: Largeur de la boîte de dialogue.
Dialogle: distance de la gauche du bureau.
Dialogte: distance entre le bureau.
Centre: {Oui | Non | 1 | 0}: si la fenêtre est centrée, la valeur par défaut, mais la hauteur et la largeur peuvent toujours être spécifiées.
AIDE: {Oui | Non | 1 |
Resizable: {Oui | Non | 1 | 0} [IE5 +]: si cela peut être modifié. La valeur par défaut no.
Status: {Oui | Non | 1 | 0} [IE5 +]: s'il faut afficher la barre d'état. La valeur par défaut est oui [sans modes] ou non [modal].
Scroll: {Oui | Non | 1 | 0 | 0 | La valeur par défaut est oui.
Il existe plusieurs attributs utilisés dans HTA, qui ne sont généralement pas utilisés dans les pages Web générales.
Dialogue: {Oui | Non | 1 | 0 | 0 | La valeur par défaut est non.
Edge: {Sunken | La valeur par défaut est une augmentation.
Nédorné: {Oui | Non | 1 | 0 |
Paramètre de passe:
Si vous souhaitez passer les paramètres de la boîte de dialogue, il est passé par Varguments. Le type n'est pas limité. Vous pouvez également passer l'objet, comme:
test1.htm
==================.
<cript>
varmxh1 = newArray ("mxh", "net_lover", "Mencius e chapitre")
varmxh2 = window.open ("À propos: blanc", "window_mxh")
// Envoyez un tableau à la boîte de dialogue
Window.showmodaldialog ("test2.htm", mxh1)
// Transmettre l'objet de fenêtre dans la boîte de dialogue
Window.showmodaldialog ("test3.htm", mxh2)
</cript>
test2.htm
==================.
<cript>
Vara = window.dialogarguments
alerte ("Les paramètres que vous passez sont:" + a)
</cript>
test3.htm
==================.
<cript>
Vara = window.dialogarguments
alerte ("Le paramètre que vous avez passé est un objet de fenêtre, nom:" + a.name)
</cript>
Vous pouvez retourner les informations à la fenêtre de la boîte de dialogue via Window.Returnvalue, bien sûr, il peut également être un objet. Par exemple:
test4.htm
==================.
<cript>
Vara = window.showmodaldialog ("test5.htm")
pour (i = 0; i <a.Length; i ++) alerte (a [i])
</cript>
test5.htm
==================.
<cript>
FunctionSendTo ()
{{
Vara = Newaray ("A", "B")
Window.ReturnValue = A
window.close ()
}
</cript>
<body>
<Formulaire
<putValue = "type = ButtonnonClick =" SendTo () ">
</ form>
Problèmes courants:
1. Comment le soumettre dans la boîte de dialogue modale sans ouvrir une nouvelle fenêtre?
Si votre navigateur est IE5.5 +, vous pouvez utiliser IFRAME avec des attributs de nom dans la boîte de dialogue, et vous pouvez formuler le nom de la cible à l'Iframe au moment de la soumission. Pour IE4 +, vous pouvez utiliser la hauteur de 0 pour encadrer: exemple,
test6.htm
==================.
<cript>
Window.showmodaldialog ("test7.htm")
</cript>
test7.htm
==================.
if (window.location.search) alert (window.location.search)
<FrameSetrows = "0, *">
<tramesrc = "À propos: blanc">
<tramesrc = "test8.htm">
</ FrameSet>
test8.htm
==================.
<Formtarget = "_ self" méthode = "get">
<putName = txtValue = "test">
<portType = soumettre>
</ form>
<cript>
if (window.location.search) alert (window.location.search)
</cript>
2. Puis-je passer les paramètres directement à la boîte de dialogue via http: //servername/virtualdirname/test.htm?
La réponse n'est pas. Mais c'est possible dans le cadre.