No hace mucho me surgió la idea de realizar un formulario en 
HTML enviando las variables mediante 
POST a un 
php donde realizaba el envio de e-mail 
(hasta aquí algo normal).
Normalmente el formulario lo realizaba integramente con 
php y se cargaba sobre si mismo, o bien lo redireccionaba a otro 
html indicando el estado de su envio.
La idea que me surgió es usar la segunda opción de redirigir a otro documento enviando variables mediante 
GET y 
capturar variables con javascript desde una url , por ejemplo: 
http://www.undominio.com/formulario.html?estado=ok.
A continuación propongo un ejemplo usando 
mootools, por el cual podremos recibir una cantidad 
n de variables:
/* Capturamos la variable enviado mediante GET con JavaScript */
window.addEvent('domready', function() {
 var estado = window.location.search;
 if((/^\?/).test(estado)){
  var resultado = estado.substr(1,estado.length)+'&'; //Quitamos  ? y añadimos & al final
  var variables = resultado.split(/\=\w+\&/);
  var contenido = resultado.split(/\w+\=/);
  for(var i=0; i<contenido.length; i++) contenido[i] = contenido[i].substr(0,contenido[i].length-1);
  contenido.shift(); //Quitamos el valor de la primera posición del array al estar vacio
  
  /* OPCIONAL: ejemplo que muestra una capa indicando el envío correcto o no */
  var capa = $('estado');
  if(variables[0]=='estado' && contenido[0]=='ok'){
   capa.addClass('enviado'); //Cambiamos la CLASS a ENVIADO
   capa.setStyle('visibility','visible'); //Visible, por defecto hidden
   capa.setStyle('height','16px');
   capa.setStyle('padding','10px');
   capa.setStyle('margin-bottom','20px');
   capa.set('html','Se ha enviado correctamente el formulario de contacto.'); //Ponemos el texto
  }else if(variables[0]=='estado' && contenido[0]=='ko'){
   capa.addClass('error'); //Cambiamos la CLASS a ERROR
   capa.setStyle('visibility','visible'); //Visible, por defecto hidden
   capa.setStyle('height','16px');
   capa.setStyle('margin-bottom','20px');
   capa.setStyle('padding','10px');
   capa.set('html','Ocurrió un error durante el envio, por favor inténtelo más tarde.'); //Ponemos el texto
  }
 }
});
Variables y 
contenidos son dos arrays, el primero contiene el nombre de las variables y el segundo el valor de las variables.
En el comentario donde aparece 
OPCIONAL, lo he usado en este 
blog, y con 
javascript oculto i/o muestro el resultado del envío.
Este pequeño 
script tiene muchas más utilidades y solo he mostrado un posible uso, espero que os sirva de ayuda.
Etiquetas: javascript, mootools