Muita gente já me perguntou como fazer a postagem
de um formulário em uma janela pop-up… Eu mesmo já
precisei… Então, um dia conversando com um colega,
imaginei a seguinte rotina:
. Abro uma nova janela,
com window.open, sem indicar página alguma, mas indicando
um "nome" para a TARGET dessa página (assim
como num FrameSet, isso pode ser utilizado para janelas
pop-up)…
. Colocar esse "nome"
no atributo TARGET do Form…
. Fazer a postagem.
Isso tudo só é possível devido ao metodo
window.open ter a opção de dar um "nome" à
nova janela. Veja a sintaxe de window.open:
window.open(URL,
Nome do Target, Opções)
Então para utilizar disso, fazemos assim:
. Criamos um script que
crie a nova janela pop-up e dispare o submit do FORM:
LANGUAGE="Javascript">
function
PostaDados(url) {
// Isto é apenas para abrir uma nova janela.
// Não precisa ter nada nela – é só pra
// target "Postagem" existir, pra poder
ser
// usada no FORM.
window.open("about:blank", "Postagem",
"resizable=yes, toolbar=no, status=yes, menubar=no,
scrollbars=yes, width=500, height=420, top=0, left=0");
NomeDoForm.submit();
}
//–>
. Colocamos o TARGET no
form:
TARGET="Postagem" METHOD="POST"
ACTION="NomeDaPáginaDestipo.asp">
·
E, ao invés
disto:
NAME="btnVotar" VALUE="Enviar Dados">
Usamos isto:
NAME="btnVotar" VALUE="Enviar Dados"
OnClick="PostaDados();">
É simples, rápido e eficiente. :^)