cuando en xajax usamos
Código PHP:
$respuesta->assign("capacargar","innerHTML","$codigo");
Hasta aquí perfecto.
Ahora, cuando utilizamos DOJO se cargan una serie de scripts al cargar la página la primera vez, antes de hacer llamadas Xajax, a parte de los .css de DOJO.
El problema es que el innerHTML de una capa con atributos DOJO no es tan obvio, con lo que al hacer $respuesta->assign("capacargar","innerHTML","$codigo"); nos estamos cargando el código que añade DOJO y, en consecuencia, no lo vemos con el .css de DOJO.
He pensado en hacer
Código PHP:
$respuesta->assign("capacargar","innerHTML","$codigo");
$respuesta->script("dojo.require(\"dojo.parser\");");
$respuesta->script("dojo.require(\"dijit.layout.ContentPane\");");
$respuesta->script("dojo.require(\"dijit.layout.TabContainer\");");
Os dejo el código completo, a ver si me podéis ayudar:
Código PHP:
<?
require ('./xajax/xajax_core/xajax.inc.php');
$xajax = new xajax();
$xajax->setCharEncoding('ISO-8859-1');
$xajax->configure('decodeUTF8Input',true);
function carga()
{
$respuesta = new xajaxResponse();
$codigo="<div dojoType=\"dijit.layout.ContentPane\" title=\"Personal Data\">
1ª opcion<br/>
2ª opcion<br/>
3ª opcion<br/>
</div>
<div dojoType=\"dijit.layout.ContentPane\" title=\"Address\">
<label for=\"address_line_1\">Address Line 1:</label>
<input type=\"text\" name=\"address_line_1\" id=\"address_line_1\"
size=\"30\" /><br/>
<label for=\"address_line_2\">Address Line 2:</label>
<input type=\"text\" name=\"address_line_2\" id=\"address_line_2\"
size=\"30\" /><br/>
<label for=\"city\">City:</label>
<input type=\"text\" name=\"city\" id=\"city\" size=\"30\" /><br/>
<label for=\"state\">State:</label>
<input type=\"text\" name=\"state\" id=\"state\" size=\"2\" /><br/>
<label for=\"postal_code\">Postal Code:</label>
<input type=\"text\" name=\"postal_code\" id=\"postal_code\"
size=\"15\" /><br/>
</div>";
$respuesta->assign("capacargar","innerHTML","$codigo");
$respuesta->script("dojo.require(\"dojo.parser\");");
$respuesta->script("dojo.require(\"dijit.layout.ContentPane\");");
$respuesta->script("dojo.require(\"dijit.layout.TabContainer\");");
return $respuesta;
}
$xajax->registerFunction("carga");
$xajax->processRequest();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Account Preferences With Dijit</title>
<style type="text/css">
@import "/dojoroot/dijit/themes/tundra/tundra.css";
@import "/dojoroot/dojo/resources/dojo.css"
</style>
<script type="text/javascript" src="/dojoroot/dojo/dojo.js"
djConfig="parseOnLoad: true"></script>
<script>
dojo.require("dojo.parser");
dojo.require("dijit.layout.ContentPane");
dojo.require("dijit.layout.TabContainer");
</script>
<style>
.formContainer {
width:600px;
height:600px;
}
label {
width:150px;
float:left;
}
</style>
<?php $xajax->printJavascript("./xajax/"); ?>
</head>
<body class="tundra">
<input type="button" value="Cargar" onclick="xajax_carga()" />
<div id="capacargar" class="formContainer" dojoType="dijit.layout.TabContainer"
style="width:600px;height:600px">
</div>
</body>
</html>