Amigo
Publicado por Carlos (2 intervenciones) el 18/04/2009 08:40:18
Saludos: Tengo problemas ejecutando funciones JavaScript en páginas cargadas mediante XAJAX. Ejemplo:
Archivo: frmLlamado.html
<!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" />
</head>
<body>
<p>Esto es un simple ensayo para mostrar que cuando esta página se
carga sola, el alert se ejecuta, pero cuando la llamo a través de
xajax no se ejecuta lo que hay en el script.
</p>
<script type="text/javascript">
/* <![CDATA[ */
// alert(..) representa cualquier función javascript que necesite
// ejecutar exactamente en esta página.
alert("Hola Mundo");
/* ]]> */
</script>
</body>
</html>
Archivo: controlador.php que carga la página anterior.
<?php
// Archivo: controlador.php
// Atención: Actualice las rutas que se dan enseguida:
require ('../xajax/xajax_core/xajax.inc.php');
$xajax = new xajax();
$xajax->configure('debug', false); // Active o desactive mediante (true|false)
$xajax->configure('javascript URI', '../xajax/');
function hacerAlgo() {
$objResponse = new xajaxResponse();
$txtFrmDepartamentos = file_get_contents("frmLlamado.html");
$objResponse->assign('columnaContenido', 'innerHTML', $txtFrmDepartamentos);
return $objResponse;
}
$reqHacerAlgo =& $xajax->registerFunction('hacerAlgo');
$xajax->processRequest();
echo '<?xml version="1.0" encoding="UTF-8"?>';
?>
Archivo: index.php que utiliza a controlador.php para cargar a frmLlamado.html
<? require('controlador.php'); ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 4.01 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>RACEC Versión 0.1</title>
<?php $xajax->printJavascript(); ?>
</head>
<body>
<div id="columnaContenido">
Compruebe que no aparecerá el aviso del alert(..) cuando pulse el botón...
<button onclick='<?php $reqHacerAlgo->printScript(); ?>' > Pulseme </button>
</div>
</body>
</html>
Gracias por su colaboración
Archivo: frmLlamado.html
<!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" />
</head>
<body>
<p>Esto es un simple ensayo para mostrar que cuando esta página se
carga sola, el alert se ejecuta, pero cuando la llamo a través de
xajax no se ejecuta lo que hay en el script.
</p>
<script type="text/javascript">
/* <![CDATA[ */
// alert(..) representa cualquier función javascript que necesite
// ejecutar exactamente en esta página.
alert("Hola Mundo");
/* ]]> */
</script>
</body>
</html>
Archivo: controlador.php que carga la página anterior.
<?php
// Archivo: controlador.php
// Atención: Actualice las rutas que se dan enseguida:
require ('../xajax/xajax_core/xajax.inc.php');
$xajax = new xajax();
$xajax->configure('debug', false); // Active o desactive mediante (true|false)
$xajax->configure('javascript URI', '../xajax/');
function hacerAlgo() {
$objResponse = new xajaxResponse();
$txtFrmDepartamentos = file_get_contents("frmLlamado.html");
$objResponse->assign('columnaContenido', 'innerHTML', $txtFrmDepartamentos);
return $objResponse;
}
$reqHacerAlgo =& $xajax->registerFunction('hacerAlgo');
$xajax->processRequest();
echo '<?xml version="1.0" encoding="UTF-8"?>';
?>
Archivo: index.php que utiliza a controlador.php para cargar a frmLlamado.html
<? require('controlador.php'); ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 4.01 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>RACEC Versión 0.1</title>
<?php $xajax->printJavascript(); ?>
</head>
<body>
<div id="columnaContenido">
Compruebe que no aparecerá el aviso del alert(..) cuando pulse el botón...
<button onclick='<?php $reqHacerAlgo->printScript(); ?>' > Pulseme </button>
</div>
</body>
</html>
Gracias por su colaboración
Valora esta pregunta


0