prueba esto,
script que procesa el formulario y recibe la respuesta del servidor:
Código Javascript
:
Ver originalfunction objetoAjax(){
var xmlhttp=false;
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
}
function enviar(){
//donde se mostrará el resultado
divResultado = document.getElementById('resultado');
//tomamos el valor de la lista desplegable
dato=document.formulario.dato.value;
//instanciamos el objetoAjax
ajax=objetoAjax();
//usamos el medoto POST
//archivo que realizará la operacion
ajax.open("POST", "archivo.php",true);
ajax.onreadystatechange=function() {
if (ajax.readyState==4) {
//mostrar resultados en esta capa
divResultado.innerHTML = ajax.responseText
}
}
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
//enviando los valores
ajax.send("dato="+dato)
}
formulario de ejemplo:
Código HTML:
Ver original<form action="" name="formulario" onSubmit="enviar(); return false">
<input type="text" name="dato"/>
<input type="submit" value="enviar"/>
<!--aqui recibo la respuesta del formulario sin cerrar la pagina-->
el php que va a procesar y a emitir la respuesta
Código PHP:
Ver original$dato = $_post['dato'];
if($dato == "primero"){
echo "Los mas viejos van primero";
}else{
echo "Lomas mas jovenes van primero";
}
como puedes ver al enviar el formulario el js lo captura y procesa su envio sin cerrar el modal, luego me muestra la espuesta, bien sea satisfactoria, error o lo que sea que coloques como respuesta en tu php, recuerda que lo que se va a mostrar en el div de respuesta es lo que imprimas en tu php y solo eso, en esta
PAGINA puedes ver como funciona, intenta recuperar la contraseña y veras, el modal se abre y procesa todo en la misma pagina sin cerrarse.
Saludos espero te sirva