Código Javascript :
$_POST = []; var alp = [ "a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q", "r","s","t","u","v","w","x","y","z","0","1","2","3","4","5","6","7","8","9"]; var alpMa = [ "A","B","C","D","E","F","G","H","I","J","K","L","M","N","O", "P","Q","R","S","T","U","V","W","X","Y","Z"]; var mod = ["qZ","Xw","eC","Vr","tB","Ny","Mu","iA","So","pD","Fa","sG", "Hd","fJ","Kg","Lh","Qj","kW","El","zR","Tx","Yc","vU","Ib","nO","mP","iC", "HG","yY","pA","Bm","yb","mN","wQ","qW","lL"]; var modMa = ["QZ","XX","CC","VR","TB","NY","MU","IA","SO","PD","FA","SG", "HD","FJ","KG","LH","QJ","KW","EL","ZR","TX","YC","VU","IB","NO","MP"]; function encrypt(c){ var cadena = c; var cadena_length = cadena.length; var new_cad=[]; cadena = cadena.split(''); if(typeof cadena == "object"){ for(ind in cadena){ for(index in alp){ if(cadena[ind] == alp[index]){ new_cad.push(mod[index]+"0"); } else{ if(cadena[ind] == alpMa[index]){ new_cad.push(modMa[index]+"0"); } } } } var cad_ok = new_cad.toString().replace(/[,]/g,'').replace(/[0]$/,''); return cad_ok; } } function decrypt(c){ var cadena = c; var cadena_length = cadena.length; var new_cad=[]; cadena = cadena.split('0'); if(typeof cadena == "object"){ for(ind in cadena){ for(index in mod){ if(cadena[ind] == mod[index]){ new_cad.push(alp[index]); } else{ if(cadena[ind] == modMa[index]){ new_cad.push(alpMa[index]); } } } } var cad_ok = new_cad.toString().replace(/[,]/g,''); return cad_ok; } } function getParams(){ var wurl = window.location.toString(); var params = wurl.split("?"); var par_only = params[1].split("&"); for(ind in par_only){ var act_par = par_only[ind].split("="); $_POST[act_par[0]]=act_par[1]; } } function getInputs(e,enc){ if(enc == null || enc == false){ e.parentNode.setAttribute("action","javascript:void(0);"); var att = e.parentNode.getAttribute("data-action"); var form_childs = e.parentNode.childNodes; var url_c = att+"?"; for(i=0;i<form_childs.length;i++){ if(form_childs[i].tagName == "INPUT"){ url_c = url_c+form_childs[i].name+"="+form_childs[i].value+"&"; } } var url_f = url_c.replace(/&$/,""); window.location=url_f; } else{ if(enc == true){ e.parentNode.setAttribute("action","javascript:void(0);"); var att = e.parentNode.getAttribute("data-action"); var form_childs = e.parentNode.childNodes; var url_c = att+"?"; for(i=0;i<form_childs.length;i++){ if(form_childs[i].tagName == "INPUT"){ url_c = url_c+form_childs[i].name+"="+encrypt(form_childs[i].value)+"&"; } } var url_f = url_c.replace(/&$/,""); window.location=url_f; } } } function send(elementRefer,encrypt){ getInputs(elementRefer,encrypt); } window.addEventListener("load",getParams,false);
No explicare el codigo javascript pero si explicare como usarlo:
Código HTML :
<!DOCTYPE html> <html lang="es"> <head> <title></title> <!--agregamos el fichero con el codigo js--> <script type="text/javacsript" src="/params.js"></script> <script type="text/javascript"> </script> <style type="text/css"> </style> </head> <body> <!--creamos un formulario y sustituimos el atributo action por data-action--> <form data-action="recept.html"> <!--"recept.html" es la paguina html a la que se mandaran los parametro, esa paguina tambien debe tener incluido el fichero javascript--> <input type="text" name="nombre" /> <!--mandaremos un parametro con un nombre. (El nombre del parametro sera el nombre de la input correspondiente), y despues creamos un boton con el evento onclick="send(this)"--> <button onclick="send(this)">enviar</button> </form> </body> </html>
Ahora explicare un poco mas el metodo send().
Código Javascript :
//el metodo send recive dos parametros, el primero //si se envia desde un formulario siempre sera this, y el segundo es un valor //booleano y por defecto es false, este parametro es para encriptar el valor de los parametro send(this,true); //si el segundo parametro se especifica true los valores seran encriptados y despues enviados. //para recibir un parametro se usa el array $_POST (como en php jeje) //por ejemplo para recibir el parametro que enviamos hace un momento hariamos esto: $_POST["nombre"]
Ejeplo: "recept.html"
Código HTML :
<!DOCTYPE html> <html lang="es"> <head> <title></title> <script type="text/javascript" src="/params.js"></script> <script type="text/javascript"> function init(){ //obtenemos el parametro que hemos recivido y lo mostramos //si los valores vienes encriptados podemos usar la funcion decrypt(cadena) para desencriptarla //esta funcion recive como parametro la cadena a desencriptar y devuelve el resultado alert($_POST["nombre"]); } </script> <style type="text/css"> </style> </head> <body onload="init()"> </body> </html>
Bueno eso es todo me disculpo si este post no ha sido tan claro o bueno..
Dudas o sugerencias en los comentarios pero talvez tarde un poco en contestar pero tratare