Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/08/2009, 12:45
juan007
 
Fecha de Ingreso: marzo-2004
Ubicación: Chile
Mensajes: 382
Antigüedad: 20 años, 8 meses
Puntos: 0
Al pasar datos por $.ajax no me carga la pagina que procesa.php en el div

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&iacute;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&oacute;digo seguridad</strong></td>
      <td><img src="captcha.php" /></td>
    </tr>
    <tr>
      <td><strong>Repetir C&oacute;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.