Ventana del padre:
Copiar código del código de la siguiente manera:
<html>
<Evista>
<title> Página no titina </title>
<script language = "javaScript" type = "text/javaScript">
Función opendialog1 ()
{{
Var someValue = widow.showModalDialog ("b.html", "", "dialogwidth = 500px; dialogHeight = 500px; status = no; ayuda = no; scrollbars = no");
document.form1.p1t.value = someValue;
}
</script>
</ablo>
<Body>
<Form de nombre = "form1" action = "#">
<input type = "text" name = "p1t">
<input type = "button" value = "abre el cuadro de diálogo" onClick = "Opendialog1 ()">
</form>
</body>
</html>
Sub -ventana:
Copiar código del código de la siguiente manera:
<html>
<Evista>
<title> Página no titina </title>
<script language = "javaScript" type = "text/javaScript">
Función a ()
{{
var wname = document.form1.
Parent.window.returnValue = wname;
window.close ();
}
</script>
</ablo>
<Body>
<Form de nombre = "form1" action = "" >>
<input type = "text" value = "Ingrese el valor para pasar" name = "backname" >>
<input type = "button" value = "pass" onClick = "return a ()">
</form>
</body>
</html>
---- 1. Gramática básica
---- El objeto de la ventana tiene un método llamado showModalDialog.
<Button onClick = "Window.ShowModaldialog
('dialog.htm') "> buscar < /botón>
---- El sistema abrirá la página de diálogo.htm en la nueva ventana y espere a que el usuario responda.
---- Establezca la propiedad returnValue del objeto de la ventana en diálogo.htm para permitir que la página de inicio obtenga el valor de retorno. Por ejemplo, escriba en el cierre del botón determinado de la página:
Window.ReturnValue = Window.
document.all.itpeoplid.Value
---- Empoderar el valor del cuadro de entrada ipTPeopleID a la propiedad de retornos de Valor del objeto de la ventana. Este valor se puede obtener en la página de inicio:
var str = showModalDialog ("Dialog1.htm")
---- 2. Pase el valor de inicialización
---- Si desea pasar el valor inicial a la página modal, puede usar las siguientes afirmaciones en la página de inicio:
var cSearchValue = showModaldialog
('dialog.htm', 'ABC')
Use window.dialogarguments en dialog.htm
Los atributos pueden obtener 'ABC'. Por ejemplo:
<Script for = window event = Knowledge = "JScript">
if (window.dialogarguments! = null)
Window.document.all.iptpeoplid.value = window.dialogarguments;
</script>
---- 3. Pase múltiples valores
---- Si desea pasar múltiples parámetros a la página modal, primero puede definir un objeto en la página de inicio,
función myDialog () {
Var str1;
Var str2;
}
---- Muestre el objetivo antes de mostrar la página modular y luego llame al método showModaldialog.
Función Bienvenido (inistr1, inist2) {{
myDialog.str1 = inistr1;
myDialog.str2 = inist2;
ifmodaldialog ("diálogo2.htm", mydialog)
== falso) //
...
---- En la página del modelo, puede usar este código
window.document.all.iptid.value =
Window.dialogarguments.str1
Para cotizar el valor, o usar este código para asignar un valor a
Window.dialogarguments.str1 =
Window.document.all.iptid.Value
---- La rutina completa es la siguiente:
---- para solo un parámetro, ver: main1.htm y diálogo1.htm.
---- Para la situación de pasar múltiples parámetros, ver: main2.htm y diálogo2.htm.
Ventana Padre:
Dim xxx 'Valor de retorno
Dim yyy 'Parámetro pasado a la ventana del niño
var xxx = showModalDialog ('xxx.asp', 'aaa', 'dialogwidth: 100px; dialogHeight = 290px; status: no')
Sub -ventana:
Los parámetros de dim yyy desde la ventana del padre
Dim xxx 'parámetros de la ventana del padre
yyy = window.dialogarguments
xxx = window.returnValue
Uso de ventana. Dialogargumentos
JavaScript tiene muchos métodos construidos para producir cuadros de diálogo, como: window.alert (), window.confirm (), window.promppt (). Sin embargo, IE proporciona más formas de admitir cuadros de diálogo. como:
ShowModalDialog () (IE4+Soporte)
ShowModelessDialog () (IE5+Soporte)
Window.ShowModalDialog () El método se usa para crear un cuadro de diálogo modular que muestra el contenido HTML.
El método de Window.ShowModeScelessDialog () se utiliza para crear un cuadro de diálogo no modal que muestre contenido HTML.
Cuando abrimos la ventana con showModeSceldialog (), no hay necesidad de usar Window.Close () para apagarla. IS, el cuadro de diálogo no siempre es el mismo, es el enfoque superior. El cuadro de diálogo del método modal [IE4] siempre tiene un enfoque (el enfoque no se puede eliminar hasta que se cierre). El cuadro de diálogo modal está conectado a la ventana de su ventana, por lo que cuando abrimos otra ventana, su relación de enlace todavía se conserva y oculta debajo de la ventana del evento.
El método de uso es el siguiente:
vreturnValue = window.showModaldialog (Surl [, varGuments] [, sfeatures]))
vreturnValue = window.showModeSceldialog (Surl [, varguments] [, sfeatures]))))
Descripción del parámetro:
Súbdito
Debe -le el elección de los parámetros, escriba: cadena. URL utilizada para especificar el documento que se mostrará en el cuadro de diálogo.
Vargumentos
Parámetros opcionales, Tipo: Variante. Se usa para pasar parámetros al cuadro de diálogo. El tipo de parámetro pasado por no es limitado, incluida la matriz, etc. El cuadro de diálogo obtiene parámetros pasados a través de la ventana. Dialogargumentos.
sfeatures
Parámetros opcionales, escriba: cadena. Utilizado para describir la apariencia y otra información del cuadro de diálogo, puede usar uno o más a continuación y usar el segmento ";"
DialogHeight Cadena de diálogo Altura, no menos de 100px, diálogo y ancho de diálogo en IE4 son EM, e IE5 es PX, que es conveniente para que el método modal use PX como unidad.
Dialogwidth: cuadro de diálogo Ancho.
dialogleft: distancia desde la izquierda del escritorio.
Dialogtop: distancia desde el escritorio.
Centro: {SÍ |
Ayuda: {SÍ |
RESIZABLE: {SÍ | El no.
Estado: {Sí | El valor predeterminado es sí [modso] o no [modal].
Scroll: {Sí | El valor predeterminado es sí.
Hay varios atributos utilizados en HTA, que generalmente no se utilizan en las páginas web generales.
Dialoghide: {Sí | El valor predeterminado es no.
Edge: {Hunken | El valor predeterminado es el aumento.
sin adornos: {Sí |
Pasar el parámetro:
Si desea pasar los parámetros del cuadro de diálogo, se pasa a través de VarGuments. El tipo no es limitado. También puede pasar el objeto, como:
test1.htm
==================
<script>
varmxh1 = newArray ("mxh", "net_lover", "Mencius E capítulo")
varmxh2 = window.open ("Acerca de: blank", "window_mxh")
// Envía una matriz al cuadro de diálogo
Window.ShowModaldialog ("test2.htm", mxh1)
// Transmitir objeto de ventana al cuadro de diálogo
Window.ShowModaldialog ("test3.htm", mxh2)
</script>
test2.htm
==================
<script>
Vara = window.dialogarguments
alerta ("Los parámetros que pases son:"+a)
</script>
test3.htm
==================
<script>
Vara = window.dialogarguments
alerta ("El parámetro que pasó es objeto de ventana, nombre:"+A.Name)
</script>
Puede devolver la información a la ventana del cuadro de diálogo a través de la ventana. Valor, por supuesto, también puede ser un objeto. Por ejemplo:
test4.htm
==================
<script>
Vara = window.showmodaldialog ("test5.htm")
para (i = 0; i <a.length; i ++) alerta (a [i])
</script>
test5.htm
==================
<script>
Functiondendto ()
{{
Vara = newaray ("a", "b")
Window.ReturnValue = A
Window.close ()
}
</script>
<Body>
<form>
<inputValue = "type = buttonOnClick =" sendto () ">
</form>
Problemas comunes:
1. ¿Cómo enviarlo en el cuadro de diálogo modal sin abrir una nueva ventana?
Si su navegador es IE5.5+, puede usar iframe con atributos de nombre en el cuadro de diálogo, y puede formular el nombre de Target al iframe al momento de la presentación. Para IE4+, puede usar la altura de 0 al marco: Ejemplo,
test6.htm
==================
<script>
Window.ShowModaldialog ("test7.htm")
</script>
test7.htm
==================
if (window.location.search) alerta (window.location.search)
<FramesEstrows = "0,*">
<framesrc = "sobre: en blanco">
<framesrc = "test8.htm">
</Frameset>
test8.htm
==================
<FormTarget = "_ self" método = "get">
<inputName = txtValue = "test">
<inputType = Envit>
</form>
<script>
if (window.location.search) alerta (window.location.search)
</script>
2. ¿Puedo pasar los parámetros directamente al cuadro de diálogo a través de http: //servername/virtualDirname/test.htm name = mxh?
La respuesta no lo es. Pero es posible en el marco.