dimecres, 22 de desembre del 2010

com obrir una finestra de navegador passant-li paràmetres amb submit i post

Un truc amb javascript: com obrir una finestra de navegador passant-li paràmetres amb method="post".

Per exemple, suposem la següent pàgina PHP que recupera els paràmetres amb $_POST. Com ho fem per que  s'executi i rebi els paràmetres dins d'una finestra oberta amb open.window?

<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="content-type">
<title>pagina2</title>
</head>
<body
style="margin-left: 222px; width: 351px; margin-top: 58px; height: 213px;">
<big style="font-weight: bold;"><span
style="font-family: Helvetica,Arial,sans-serif;">Mostra els resultats</span></big><br>
<br>
<span style="font-family: Helvetica,Arial,sans-serif;">Text 1:</span>&nbsp;
<?php echo $_POST["v_Text1"] ?><br>
<br>
<span style="font-family: Helvetica,Arial,sans-serif;">Text 2:</span>&nbsp;
<?php echo $_POST["v_Text2"] ?><br>
<br>
<br>
<a style="font-family: Helvetica,Arial,sans-serif;"
href="javascript:window.close()">Tanca</a><br>
</body>
</html>


Podem invocar la pàgina anterior dins d'una finestra oberta amb open.window i passant-li arguments amb POST amb la següent tècnica:
1 - creant la finestra de destinació en l'event OnSubmit del formulari
2 - indicant en l'Action del formulari la pàgina a la que volem accedir
3 - indicant en el Target del formulari que la destinació és la finestra creada a l'OnSubmit

Per exemple, així:

<html>
<head>
<script language="javascript">
function ObreFinestra() {
var v_Config="top=50px,left=50px,width=640px,height=480px,resizable=yes";
var v_FinestraProva = window.open("", "wndFinestraProva", v_Config);
}

</script>
</head>
<body>
<form
style="margin-left: 172px; width: 508px; margin-top: 76px; height: 161px;"
onsubmit="javascript:ObreFinestra();" target="wndFinestraProva"
method="post" action="pagina2.php"
name="Prova"> <big><span
style="font-family: Helvetica,Arial,sans-serif;"></span></big><span
style="font-family: Helvetica,Arial,sans-serif;"><big
style="font-weight: bold;">Obrir formulari amb
post en una finestra separada</big><br>
<br>
Text 1: <input name="v_Text1"><br>
Text 2: <input name="v_Text2"><br>
<br>
<input name="v_Submit" value="Enviar" type="submit"> <input
name="v_Reset" value="Esborrar" type="reset"><br>
</span></form>
</body>
</html>

Cap comentari:

Publica un comentari a l'entrada