A veces necesitamos hacer transiciones de un sitio web a otro y tal vez por temas de integración (diferente plataforma) o importancia en el negocio (no se requiere un desarrollo que requiere tiempo para salvaguardar la integridad y privacidad de datos), se puede optar por una clasica opción la cual es pasar los datos por querystring (GET); un caos puntual que me sucedio era pasar datos de un sitio web comercial a un formulario de registro de un aplicación; ya que por un lado los de comercial deseaban saber quien le interesaba un producto y por el lado de la aplicación facilitarle diligenciar datos a un usuario donde no tenga que repetir los mismos datos que habia puesto desde el sitio web comercial.

Primero en el html debe existir un link, en este caso pongo uno oculto:

<a href=”” id=”principalwebsitelink” target=”_blank” style=”display:none;”>Link Falso</a>

Seguido hacemos una funcion JS que procese el formulario, para los datos a leer (en este caso solo input de tipo “text y html”), luego por cada campo se arma query string con los datos “llave”=”valor” y por ultimo con la función:  document.getElementById(‘[id de mi link]’).click(); emula el clic a el vinculo:

function procesarForm(formsend){
var elLength = formsend.elements.length;
var queryString = "";
for (i=0; i<elLength; i++)
{
var type = formsend.elements[i].type;
if (type=="text" || type=="email"){
if(queryString ==""){
queryString = "?";
}else{
queryString = queryString + "&";
}
queryString = queryString + document.forms[4].elements[i].name.toLowerCase() + "="+ document.forms[4].elements[i].value;
}
}
if(queryString!=""){
document.getElementById('principalwebsitelink').click();
}
}

 

Si depronto con la solución de un link falso no les suena, puede usar la opción:

window.open(‘http://www.misitio.com’+queryString);

El problema de ambas soluciones (clic en link falso o window.open) es si el usuario tiene bloqueado los “popups”, no lo deja ver, tal vez lo mejor es que la misma pagína navegue:

location = ‘http://www.misitio.com’+queryString;

 

Anuncios