Antes que todo agradecer cualquier ayuda. Bueno les comento, tengo una pagina php(index.php) dentro de esta pagina tengo un div llamado #div_contenido, en este div cargo una otra página formAccesoAdmini.php (Hasta aca todo bien)que en esta página tengo un formulario donde se autentifica con nombre de usuario clave y código captcha.Mi problema es el siguiente cuando lleno el formulario y le doy el botón enviar me llama a otra página que me procesa la solicitud para ver si tiene acceso o no....pero esa respuesta ya sea positiva o negativa no me la carga en el #div_contenido del index.php....y realmente no se que estoy haciendo mal......además tengo una imagen que cuando se hace click en el botón me la muestre y tampoco lo hace.
index.php-->dentro del index.php #div_contenido -->en el #div_contenido se carga el formulario para autentificar-->el formulario llama validaAcceso que si el usuario esta OK le da la bienvenida sino envia mensaje de error
Esto ultimo no logro hacerlo, que me llege a la pagina validaAcceso.php
Les dejo el codigo se me pueden ayudar.
Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
<link href="css/MiEstilo.css" rel="stylesheet" type="text/css" />
<!--<script src="js/jquery.js" type="text/javascript"></script>
<script src="js/funciones.js" type="text/javascript"></script>-->
<script language="javascript">
var x;
x=$(document);
x.ready(inicializarEventos);
function inicializarEventos(){
var x;
x=$("#btnFormAdmin");
x.click(presionSubmit);
}
function presionSubmit(){
//alert("Pase por aca");
var nombreUsuario=$("#txtAdmin").attr("value");
var claveUsuario=$("#txtClave").attr("value");
var codigoCaptcha=$("#CAPTCHA_CODE").attr("value");
$.ajax({
async:true,
type: "POST",
dataType: "html",
contentType: "application/x-www-form-urlencoded",
url:"validaAccesoAdmin.php",
data:"txtAdmin="+nombreUsuario+"&txtClave="+claveUsuario+"&CAPTCHA_CODE="+codigoCaptcha,
beforeSend:inicioEnvio, /*Antes de enviar*/
success:llegadaDatos,
timeout:4000,
error:problemas
});
return false;
}
function inicioEnvio(){
var x=$("#divCargandoFormAdmin");
x.html("<img src='imagenes/cargando.gif'>");
}
function llegadaDatos(datos){
$("#div_contenido").html(datos);
}
</script>
</head>
<body>
<p><img src="imagenes/candado.png" width="128" height="128" class="centrado"/></p>
<form name="frmAdmin" id="frmAdmin" method="post" action="validaAccesoAdmin.php">
<table width="285" align="center" class="Tablas">
<caption>
Bienvenido Administrador, ingresa tus Datos.
</caption>
<tr>
<td width="117"><strong>Nombre Usuario: </strong></td>
<td width="156"><input name="txtAdmin" type="text" id="txtAdmin" /></td>
</tr>
<tr>
<td><strong>Clave:</strong></td>
<td> <input name="txtClave" type="password" id="txtClave" /> </td>
</tr>
<tr>
<td><strong>Código seguridad</strong></td>
<td><img src="captcha.php" /></td>
</tr>
<tr>
<td><strong>Repetir Código</strong></td>
<td><input name="CAPTCHA_CODE" type="text" size="15" id="CAPTCHA_CODE" /></td>
</tr>
<tr>
<td><div id="divCargandoFormAdmin"></div></td>
<td><input name="btnFormAdmin" id="btnFormAdmin" type="submit" class="boton" value="Enviar" /></td>
<!-- <input name="button" type="submit" class="boton" value="Enviar" onclick="validaAdministrador()" />-->
</tr>
</table>
</form>
</body>
</html>
Bueno se preguntaran porque tengo entre comentarios el llamado a la librería jQuery en el head, de esta página (formAccesoAdmini.php) porque según lo que me he dado cuenta al cargar esta página en el #div_contenido del index.php hereda la llamada a la librería jQuery que tengo en el head y todos los tags de la pagina que se carga en el div.
Me aparece la pagina pero NO en el #div_contenido, me aparece al igual cuando uno le hace boton derecho a un enlace abrir en otra pagina asi mismo aparece.
Bueno yo creo saber las causas de esto a lo mejor estoy equivocado...segun yo son:
- Es por el action del formulario.(Pero si le saco el action no me hace nada ,me vuelve a cargar el index.php)
- Estoy incluyendo un HTML COMPLETO (con tags head y demás) dentro de otro. (el formAccesoAdmini.php dentro de index.php y a su vez cuando me procese el formAccesoAdmini.php que los resultados me los arroje al index.php...en un #div_contenido).
......entonces los navegadores deben estar pensando así: incluyo el formAccesoAdmini.php dentro del index en el #div_contenido(es decir, estoy en el INDEX) y el form tiene action="validaAcceso" entonces lo mando a self (index)... entonces queda como en un loop.
Bueno esperando cualquier ayuda, sugerencia o critica. Ya me desespera esto, nose como resolverlo.