Janela do pai:
Copie o código do código da seguinte forma:
<html>
<head>
<title> página de não título </ititle>
<Script Language = "Javascript" type = "text/javascript">
Função opendialog1 ()
{{
Var algumValue = widow.showmodaldialog ("b.html", "", "diálogo de diálogo = 500px; dialogHeight = 500px; status = não; ajuda = não; scrollBars = não");
document.form1.p1t.value = algum valor;
}
</script>
</head>
<Body>
<Name de forma = "form1" action = "#">
<input type = "text" name = "p1t">
<input type = "button" value = "Abra a caixa de diálogo" onclick = "opendialog1 ()">
</morm>
</body>
</html>
Sub -Window:
Copie o código do código da seguinte forma:
<html>
<head>
<title> página de não título </ititle>
<Script Language = "Javascript" type = "text/javascript">
Função a ()
{{
var wname = document.form1.
Parent.window.returnValue = wname;
window.close ();
}
</script>
</head>
<Body>
<Nome name = "form1" action = "" >>
<input type = "text" value = "Digite o valor para passar" name = "backname" >>
<input type = "button" value = "pass" onclick = "return a ()">
</morm>
</body>
</html>
---- 1. Gramática básica
---- Objeto de janela tem um método chamado ShowModaldialog.
<Button onclick = "window.showmodaldialog
('dialog.htm') "> pesquisa </botão>
---- O sistema abrirá a página Dialog.htm na nova janela e aguarde o usuário responder. Se o usuário não responder à página, a página inicial não receberá o cursor.
---- Defina a propriedade ReturnValue do objeto de janela em Dialog.htm para permitir que a página inicial obtenha o valor de retorno. Por exemplo, escreva no OnClick do botão determinado da página:
Window.returnValue = janela.
document.all.itpeoplid.value
---- Capacitar o valor da caixa de entrada iptpeopleid para a propriedade ReturnValue do objeto da janela. Este valor pode ser obtido na página inicial:
var str = showmodaldialog ("dialog1.htm")
---- 2. Passe o valor de inicialização
---- Se você deseja passar o valor inicial para a página modal, poderá usar as seguintes declarações na página inicial:
var csearchValue = showModaldialog
('dialog.htm', 'abc')
Use window.dialogarguments em dialog.htm
Os atributos podem obter 'ABC'. Por exemplo:
<Script para = evento de janela = conhecimento = "jscript">
if (window.dialogarguments! = null)
Window.document.all.iptpeoplid.value = window.dialogarguments;
< /Script>
---- 3. Passe vários valores
---- Se você deseja passar vários parâmetros para a página modal, poderá primeiro definir um objeto na página inicial,
function mydialog () {
Var str1;
Var str2;
}
---- Exibir o destino antes de exibir a página modular e, em seguida, chame o método ShowModaldialog.
Função bem -vindo You (inistr1, inist2) {{
mydialog.str1 = inistr1;
mydialog.str2 = inistr2;
ifmodaldialog ("dialog2.htm", mydialog)
== false) //
... ...
---- Na página do modelo, você pode usar este código
window.document.all.iptid.value =
Window.dialogarguds.str1
Para citar o valor ou usar este código para atribuir um valor a
Window.dialogarguds.str1 =
window.document.all.iptid.value
---- A rotina completa é a seguinte:
---- Para apenas um parâmetro, consulte: Main1.htm e Dialog1.htm.
---- Para a situação de passar vários parâmetros, consulte: main2.htm e dialog2.htm.
Janela do pai:
Valor de retorno dim xxx '
Parâmetro escuro AAA, passada para a janela infantil
var xxx = showmodaldialog ('xxx.asp', 'yyy', 'diálogo de diálogo: 100px; dialogHeight = 290px; status: não')
Sub -Window:
Os parâmetros de Dim AAAs da janela do pai
Dim XXX 'Parâmetros da janela do pai
Aaaa = Window.Dialogarguments
xxx = window.returnValue
Uso de Window.Dialogarguments
O JavaScript possui muitos métodos construídos -in para produzir caixas de diálogo, como: window.alert (), window.confirm (), window.prompt (). No entanto, o IE fornece mais maneiras de oferecer suporte a caixas de diálogo. como:
ShowModaldialog () (IE4+Suporte)
Showmodelessdialog () (IE5+suporte)
O método Window.ShowModaldialog () é usado para criar uma caixa de diálogo modular que exibe o conteúdo HTML.
O método Window.ShowMODESLDIALOG () é usado para criar uma caixa de diálogo não modal que exibe conteúdo HTML.
Quando abrimos a janela com o showMODESLDIALOG (), não há necessidade de usar o Window.Close () para desligá -lo. IS, a caixa de diálogo nem sempre é o mesmo, é o foco superior. A caixa de diálogo do método modal [ie4] sempre tem um foco (o foco não pode ser removido até que seja fechado). A caixa de diálogo Modal está conectada à janela de sua janela; portanto, quando abrimos outra janela, o relacionamento de link ainda é preservado e oculto na janela do evento.
O método de uso é o seguinte:
vRETURNVALUE = Window.showModaldialog (SURL [, Vargudes] [, SFeatures])))))
vRETURNVALUE = Window.showmodelessDialog (SURL [, Vargudes] [, SFeatures]))))))))))))))))))))))))))))))
Descrição do parâmetro:
Surl
Parâmetros deve -CHOose, tipo: string. URL usado para especificar o documento a ser exibido na caixa de diálogo.
Vargudes
Parâmetros opcionais, tipo: variante. Usado para passar os parâmetros para a caixa de diálogo. O tipo de parâmetro passado não é limitado, incluindo matriz, etc. A caixa de diálogo obtém parâmetros passados através do Windows.Dialogarguments.
SFEATURES
Parâmetros opcionais, tipo: string. Usado para descrever a aparência e outras informações da caixa de diálogo, você pode usar um ou mais abaixo e usar o segmento ";" para se separar.
A altura da caixa de diálogo de diálogo, não menos que 100px, diálogo e largura de diálogo no IE4 são EM, e o IE5 é PX, o que é conveniente para o método modal usar o PX como uma unidade.
Largura de diálogo: Largura da caixa de diálogo.
DIALOGLEFT: Distância da esquerda da área de trabalho.
Dialogtop: Distância da área de trabalho.
Centro: {sim |
Ajuda: {sim |
Redicável: {sim | O padrão não.
Status: {sim | O padrão é sim [modalless] ou não [modal].
Scroll: {sim | O padrão é sim.
Existem vários atributos usados no HTA, que geralmente não são usados nas páginas da Web em geral.
diálogo: {sim | O padrão é não.
Edge: {afundado |. O padrão é aumentado.
Não adorado: {sim |
Passe Parameter:
Se você deseja passar os parâmetros da caixa de diálogo, ele é passado através de Varguments. O tipo não é limitado. Você também pode passar no objeto, como:
test1.htm
==================
<Cript>
varmxh1 = newArray ("mxh", "net_lover", "mencius e capítulo")
varmxh2 = window.open ("Sobre: em branco", "window_mxh")
// Envie uma matriz para a caixa de diálogo
Window.showmodaldialog ("test2.htm", mxh1)
// Transmitir objeto de janela para a caixa de diálogo
Window.showmodaldialog ("test3.htm", mxh2)
</script>
test2.htm
==================
<Cript>
Vara = window.dialogarguments
alerta ("Os parâmetros que você passa são:"+a)
</script>
Test3.htm
==================
<Cript>
Vara = window.dialogarguments
alerta ("O parâmetro que você passou é o objeto de janela, nome:"+a.name)
</script>
Você pode retornar as informações à janela da caixa de diálogo através da janela.returnValue, é claro, também pode ser um objeto. Por exemplo:
Test4.htm
==================
<Cript>
Vara = window.showmodaldialog ("test5.htm")
for (i = 0; i <a.length; i ++) alerta (a [i])
</script>
test5.htm
==================
<Cript>
Funçõesndto ()
{{
Vara = newaray ("a", "b")
Window.returnValue = a
window.close ()
}
</script>
<Body>
<morm>
<inputValue = "type = buttonClick =" sendTo () ">
</morm>
Problemas comuns:
1. Como enviá -lo na caixa de diálogo modal sem abrir uma nova janela?
Se o seu navegador for IE5.5+, você poderá usar o IFRAME com atributos de nome na caixa de diálogo e formular o nome do Target para o iframe no momento do envio. Para o IE4+, você pode usar a altura de 0 para enquadrar: exemplo,
test6.htm
==================
<Cript>
Window.showmodaldialog ("test7.htm")
</script>
test7.htm
==================
if (window.location.search) alert (window.location.search)
<FrameSetrows = "0,*">
<Framesrc = "Sobre: Blank">
<Framesrc = "test8.htm">
</frameSet>
test8.htm
==================
<Formtarget = "_ self" método = "get">
<inputName = txtValue = "test">
<inputType = envie>
</morm>
<Cript>
if (window.location.search) alert (window.location.search)
</script>
2. Posso passar os parâmetros diretamente para a caixa de diálogo através de http: //servername/virtualdirname/test.htm?
A resposta não é. Mas é possível em quadro.