Foros del Web » Programando para Internet » Javascript »

Problema Ajax y javascript

Estas en el tema de Problema Ajax y javascript en el foro de Javascript en Foros del Web. Hola buenas os comento: Desde mi página inicial utilizo AJAX para poder cargar en un Div los datos de otra página php. El problema es ...
  #1 (permalink)  
Antiguo 29/10/2011, 15:15
 
Fecha de Ingreso: octubre-2011
Ubicación: BCN
Mensajes: 19
Antigüedad: 12 años, 6 meses
Puntos: 1
Problema Ajax y javascript

Hola buenas os comento:

Desde mi página inicial utilizo AJAX para poder cargar en un Div los datos de otra página php. El problema es que me realiza todo bien, excepto las partes de Javascript. Os pongo los trozos de código:



Código Javascript:
Ver original
  1. function cambiaPagina(){
  2.         //Comprobar radiobutton marcado
  3.         var i;
  4.         for (i=0;i<document.tipoIndustrias.tipoIndustrias.length;i++){
  5.            if (document.tipoIndustrias.tipoIndustrias[i].checked)
  6.               break;
  7.         }
  8.         var opcion = document.tipoIndustrias.tipoIndustrias[i].value;
  9.         //Cargar la página de creación
  10.         var menu = "gaCreador.php?o="+opcion;
  11.         var capa = window.document.getElementById("selector");
  12.         xmlhttp.open("GET", menu,true);
  13.         xmlhttp.onreadystatechange = function(){
  14.             if(xmlhttp.readyState == 4){
  15.                 capa.innerHTML = xmlhttp.responseText;
  16.             }
  17.         }
  18.     xmlhttp.send(null);
  19.     }



Y por otro lado el código PHP, lo echos para que salga el alert nunca los ejecuta, es decir, no los reconoce, hay alguna forma de decirle a AJAX que los interprete???


Código PHP:
Ver original
  1. echo '<script language="JavaScript">
  2.            alert("Entorno creado correctamente");
  3.            </script>';
  4.     echo '<SCRIPT LANGUAGE="javascript">
  5.            location.href = "login.php";
  6.            </SCRIPT>';



Saludos!!
  #2 (permalink)  
Antiguo 29/10/2011, 21:00
 
Fecha de Ingreso: septiembre-2011
Mensajes: 158
Antigüedad: 12 años, 7 meses
Puntos: 15
Respuesta: Problema Ajax y javascript

desafortunadamente no se puede ejecutar javascript desde ajax sin que se aya yamado la funcion con algun evento

lo que puedes aser es comprobar el estado del ajax y cuando se aya terminado que se ejecute la alerta o lo que quieras aser ;)

o tambien puedes poner el onclick dentro del archivo php y asi si te funcionara ;) pero creo que eso no qieres :o
  #3 (permalink)  
Antiguo 30/10/2011, 16:07
 
Fecha de Ingreso: octubre-2011
Ubicación: BCN
Mensajes: 19
Antigüedad: 12 años, 6 meses
Puntos: 1
Respuesta: Problema Ajax y javascript

No sé a que te refieres exactamente. Es decir, quieres decir que haga una función que lanze el código de Javascript cuando el código de php acabe??? Es que no lo entiendo exactamente a lo que te refieres. Me podrias poner un ejemplo.

De todas formas hay alguna formas como podria hacer un alert o un tipo así através de ajax??

Saludos!
  #4 (permalink)  
Antiguo 31/10/2011, 00:54
 
Fecha de Ingreso: septiembre-2011
Mensajes: 158
Antigüedad: 12 años, 7 meses
Puntos: 15
Respuesta: Problema Ajax y javascript

Cita:
Iniciado por yuris_ssdd Ver Mensaje
No sé a que te refieres exactamente. Es decir, quieres decir que haga una función que lanze el código de Javascript cuando el código de php acabe??? Es que no lo entiendo exactamente a lo que te refieres. Me podrias poner un ejemplo.

De todas formas hay alguna formas como podria hacer un alert o un tipo así através de ajax??

Saludos!
bueno basicamente asi, veras hay 2 formas de aserlo, uno con una funcion dentro del codigo php pero tienes que meter eventos, dentro del php D:

la otra es aser una comprovacion y ejecutar todo dentro del mismo script ;)

BUENO TE ISE UN EJEMPLO CON TU CODIGO, d:
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" xml:lang="es" lang="es" dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>titulo</title>

<script type="text/javascript">

var xmlhttp;
if (window.XMLHttpRequest)
  {xmlhttp=new XMLHttpRequest();}
else
  { xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");}

function cambiaPagina(){
        //Comprobar radiobutton marcado
        /*
		var i;
        for (i=0;i<document.tipoIndustrias.tipoIndustrias.length;i++){
           if (document.tipoIndustrias.tipoIndustrias[i].checked)
              break;
        }
		*/
        //var opcion = document.tipoIndustrias.tipoIndustrias[i].value;
        var opcion="caca";
		//Cargar la página de creación
        var menu = "gaCreador.php?o="+opcion;
        var capa = window.document.getElementById("selector");
        xmlhttp.open("GET", menu,true);
        xmlhttp.onreadystatechange = function(){
            if(xmlhttp.readyState == 4){
                capa.innerHTML = xmlhttp.responseText;
/////////////////////////////// ACA ESTA LA MAGIA MUAJAJAJJAJA
				if(capa.innerHTML=="caca")
				{alert("Entorno creado correctamente");
            location.href = "login.php";}
////////////////////////////////////////////////
				
            }
        }
    xmlhttp.send(null);
    }
 </script>

</head>
<body>


 <div id='selector'></div>
 <a href='javascript: cambiaPagina();'>soy la caca XD</a>
</body>
</html>

ACA ESTE EL ARCHIVO gaCreador.php

Código:
<?php
if(@$GET_["o"]!=""){}else{
echo "caca";
}
?>
  #5 (permalink)  
Antiguo 31/10/2011, 06:36
 
Fecha de Ingreso: octubre-2011
Ubicación: BCN
Mensajes: 19
Antigüedad: 12 años, 6 meses
Puntos: 1
Respuesta: Problema Ajax y javascript

Me autorespondo con la solución final al problema, por si alguien la necesita en un futuro. De todas formas gracias tu código dleal100 y por la idea que me diste. Gracias a ello puede hacer que funcionara.

La forma que encontré de hacerlo es esta:

Código Javascript:
Ver original
  1. if(xmlhttp.readyState == 4){
  2.             capa.innerHTML = xmlhttp.responseText;
  3.             if (document.getElementById('correcto')){
  4.                 alert("Entorno creado correctamente");
  5.             }
  6.         }

Y en PHP

Código PHP:
Ver original
  1. echo '<p id="correcto"></p>';

De esta forma encuentra el identificador y puede mostrar el mensaje!!

Saludos y gracias!!

Etiquetas: ajax, html, php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:49.