miércoles, agosto 23, 2006

AutoPostBack en FORMS con JavaScript

Esta página HTML tiene la capacidad de recibir un parámetro que puede definir el "action" de un formulario y además recibir varios parámetros para enviarlos al URL del action.

Ejemplifiquemos esto.

Tenemos 3 páginas A.htm, M.htm y Z.htm.

La página A contendrá un link hacia M que enviará ciertos parámetros, por ejemplo:
<a target="_blank" href="M.htm?action=Z.htm
&param1=value1&param2=value2&param2=value2"></a>

De ese modo M (que es la página que vamos a crear) recibirá todos los parámetros y los enviará a Z.htm.


<script language="javascript">
<!--//
function Envia()
{
var query = window.location.search.substring(1);
var vars = query.split("&");
var BlnHayAction = 0;

for (var i=0;i<vars.length;i++)
{
var pair = vars[i].split("=");
{
if (pair[0] == "action"){document.Form1.action = pair[1]; BlnHayAction = 1;}
}
}

if (BlnHayAction == 1)
{
for (var i=0;i<vars.length;i++)
{
var pair = vars[i].split("=");
if (pair[0] == "param1"){document.getElementById("param1").value = pair[1];}
if (pair[0] == "param2"){document.getElementById("param2").value = pair[1];}
if (pair[0] == "param3"){document.getElementById("param3").value = pair[1];}
}

document.Form1.submit();
}
}

//-->
</script>

<html><body onload="Envia()">

<form id="Form1" name="Form1" method="post">
<input name="param1" type="hidden" id="param1">
<input name="param2" type="hidden" id="param2">
<input name="param3" type="hidden" id="param3">
</form>

</body></html>

No hay comentarios.: