Vamos falar sobre o uso básico de janela.showmodaldialog
ShowModaldialog () (IE 4+ Suporte)
showmodelessdialog () (ou seja, suporte de 5+)
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.
Como usar:
vRETURNVALUE = Window.showModaldialog (SURL [, Vargudes] [, SFeatures])))))
vRETURNVALUE = Window.showmodelessDialog (SURL [, Vargudes] [, SFeatures]))))))))))))))))))))))))))))))
Descrição do parâmetro:
Parâmetros SURL-MUST-CHOOSE, TIPO: String. URL usado para especificar o documento a ser exibido na caixa de diálogo.
Parâmetro Opcional Vargudes, 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.
Parâmetro Opcional SFEATURES, 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.
1. DialogHeight: A altura da caixa 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 a caixa de diálogo modal.
2. Largura de diálogo: Largura da caixa de diálogo.
3.Dialogleft: Distância da esquerda da tela.
4. Dialogtop: Distância da tela.
5.Center: {sim |
6.Help: {sim |
7.Resizable: {sim | O padrão não.
8.Status: {sim | O padrão é sim [modalless] ou não [modal].
9.Scroll: {sim | O padrão é sim.
Os seguintes atributos são usados no HTA e geralmente não são usados nas páginas da Web em geral.
10. O padrão é não.
11.Edge: {Sunken |. O padrão é aumentado.
12.
Transmissão de parâmetros:
1. Se você deseja passar os parâmetros na caixa de diálogo, poderá passar por Vargudes. O tipo não é limitado. Você também pode passar no objeto, como:
Copie o código do código da seguinte forma:
<Cript>
var obj = new Object ();
obj.name = "ttop";
Window.showmodaldialog ("test.htm", obj, "dialogwidth = 200px; dialogHeight = 100px");
</script>
test.htm
<Cript>
var obj = window.dialogarguments
Alerta ("Os parâmetros que você passa são:" + obj.name)
</script>
2. Você pode retornar as informações à janela que abre a caixa de diálogo através da janela.ReturnValue. Por exemplo:
Copie o código do código da seguinte forma:
<Cript>
Str = window.showmodaldialog ("test.htm", "diálogo de diálogo = 200px; dialogHeight = 100px");
alerta (str);
</script>
test.htm
<Cript>
window.returnValue = "/";
</script>
1. Qual é a diferença entre o ShowModaldialog e o ShowModeLelessDialog?
ShowModaldialog: Depois de ser aberto, ele sempre manterá o foco de entrada. A menos que a caixa de diálogo esteja fechada, os usuários não podem alternar para a janela principal. Semelhante ao efeito de operação do alerta.
ShowModelessDialog: Depois de ser aberto, os usuários podem alternar aleatoriamente o foco de entrada. Não tem impacto na janela principal (no máximo está bloqueado.: P)
Segundo, como podemos deixar uma nova janela ser exibida no showmodaldialog e no showmodelessdialog?
Adicione <base target = "_ Seld"> às páginas da web aberta. Esta frase é geralmente colocada entre <html> e <body>.
Como atualizar o conteúdo no showModaldialog e no showmodelessdialog?
No Showmodaldialog e no ShowModlessDialog, o F5 não pode ser atualizado e o menu não pode ser aparado. Isso só pode confiar no JavaScript.
<corpo onkeydown = "if (event.keycode == 116) {regoad.click ()}">
<A id = "Reload" href = "filename.htm" style = "display: nenhum"> recarregue ... </a>
Substitua o nome do arquivo.
Quarto, como fechar a janela do showModaldialog (ou ShowModeLelessDialog) com JavaScript.
<input type = "button" value = "feche" onclick = "window.close ()">
Também cooperar com <base target = "_ Seld">, caso contrário, ele abrirá uma nova janela do IE e depois a desligará.
5. Técnicas de transmissão de dados ShowModaldialog e ShowModeEssenDialog.
(Palavras do autor: eu originalmente queria escrever em uma pergunta e resposta, mas não conseguia pensar nisso, então tive que fazer isso.)
Essa coisa é mais problemática.
Exemplo: agora você precisa ler ou definir uma variável var_name
Método de transmissão geral:
Window.showmodaldialog ("filename.htm", var_name)
// transfira variáveis var_name
Ao ler e definir no ShowModaldialicalog (ou ShowModeEaseDialog) ::
alerta (window.dialogarguments) // leia a variável var_name
Window.dialogarguments = "oyiboy" // Defina variável var_name
Esse método pode ser satisfeito, mas quando você deseja operar VAR_NAME e depois operar a segunda alteração var_id ao mesmo tempo? Não será mais capaz de operar. Esta é as limitações desse método de transmissão.
A seguir, é a maneira como recomendo usá -lo:
Window.showmodaldialog ("filename.htm", janela)
// Não importa quais variáveis a serem operadas, apenas o objeto da janela da janela principal é transmitido diretamente
Ao ler e definir no ShowModaldialicalog (ou ShowModeEaseDialog) ::
alert (window.dialogargudes.var_name) // Leia a variável var_name
Window.dialogarguments.var_name = "oyiboy" // Definir variável var_name
Ao mesmo tempo, também posso operar a variável var_id
alert (window.dialogargudes.var_id) // Leia a variável var_id
Window.dialogargudents.var_id = "001" // Defina var_id variável
Também pode operar qualquer objeto da janela principal, como os elementos no objeto Form.
Window.dialogargudents.form1.index1.value = "Este é o valor do elemento index1"
Na página pai, use onclight = "" "varite = window.showmodalog ('changephoto.htm', 'Dialogwidth: 500px; dialogHeight: 300px; ajuda: não'); se (typ eof (reval)! = '' Definido '; ) {Form.TextName.Value = Reval;} "Style =" "Cursor: Hand"> Clique aqui para modificar a imagem
Abra uma estrutura definida na janela Word 'Changephoto.htm'.
Changephoto.htm: <Tipo de entrada = botão onclick = "onclose ();" Value = "Fechar" >>
Função onclose () {window.returnValue = form1.save.value;
Arquivo ASP: parent.document.form1.save.value = "Valor ou vários";