Ver Mensaje Individual
  #7 (permalink)  
Antiguo 27/05/2006, 10:32
zaqpz
 
Fecha de Ingreso: agosto-2005
Ubicación: Argentina, Capital Federal
Mensajes: 435
Antigüedad: 18 años, 8 meses
Puntos: 2
Puedes traer tu alert o incluso definir funciones JavaScript en tu archivo procesador si cuando recibes esos datos en tu archivo "llamador" creas una nueva etiqueta <script> en el head y colocas todo dentro de ella. A continuación les dejo un simple ejemplito (bastante inútil, pero lo hice con el objetivo de que se entienda lo que digo) que trae un alert y una función encargada de cambiar el color de fondo de la página principal:

test.php
Código:
<html>
<head>
<script type="text/javascript">
<!-- Crear clase AJAX a gusto llamandola nuevoAjax() -->

function traeScript()
{
	ajax=nuevoAjax();
	ajax.open("POST", "test2.php", true);
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	ajax.send("trae=1");
	
	ajax.onreadystatechange=function() 
	{
		if (ajax.readyState==4)
		{ 
			// Aqui es donde creo la etiqueta script y coloco los datos que me llegan dentro de ella. Luego agrego esa etiqueta al head
			nuevoScript=document.createElement("script");
			nuevoScript.text=ajax.responseText;
			document.getElementsByTagName('head')[0].appendChild(nuevoScript);
		} 	
	}
}
</script>
</head>

<body>
<a href="javascript:traeScript();">Trae script</a>
<br>
<a href="javascript:ejecutaScript();">Ejecuta script</a>
</body>
</html>
test2.php
Código:
<?php
if($_POST["trae"]==1)
{
	echo "
	alert('Script traido y funcional');
	function ejecutaScript()
	{
		document.body.style.backgroundColor='#FF0000';
	}";
}
?>
Fijense que si intentan ejecutar el script antes de traerlo mediante los links correspondientes este no se ejecutará, ya que no existe. En el caso de solo intentar traer un alert, obteniendo la respuesta mediante el eval de JavaScript sería mas que suficiente.

Espero que esto responda sus cuestiones.

Saludos.
__________________
R4DS en español | R4DS en inglés