Tomo el ejemplo que viene junto al código de Xajax, lo cual cualquier puede pegar y copiar y probarlo.
Saco la información del combo con los colores, creo una función "cargarCombos", y luego agrego un botón que dice "cargar combos".
Funciona en Firefox, pero no en IE.
Será un problema del framework que el código generado para el caso "combos" no es interpretado por el IE (quiero pensar que no).
Código PHP:
<?php
require ('xajax/xajax.inc.php');
function cargarCombos(){
$contenido = "<option value=\"black\" selected=\"selected\">Black</option>";
$contenido .= "<option value=\"red\">Red</option>";
$contenido .= "<option value=\"green\">Green</option>";
$contenido .= "<option value=\"blue\">Blue</option>";
$objResponse = new xajaxResponse();
$objResponse->addAssign("colorselect","innerHTML", $contenido);
return $objResponse;
}
function helloWorld($isCaps)
{
if ($isCaps)
$text = "HELLO WORLD!";
else
$text = "Hello World!";
$objResponse = new xajaxResponse();
$objResponse->addAssign("div1","innerHTML",$text);
return $objResponse;
}
function setColor($sColor)
{
$objResponse = new xajaxResponse();
$objResponse->addAssign("div1","style.color", $sColor);
return $objResponse;
}
$xajax = new xajax();
$xajax->registerFunction("helloWorld");
$xajax->registerFunction("setColor");
$xajax->registerFunction("cargarCombos");
$xajax->processRequests();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>xajax example</title>
<?php //$xajax->printJavascript('../'); // output the xajax javascript. This must be called between the head tags ?>
<?php $xajax->printJavascript('xajax'); ?>
</head>
<body style="text-align:center;">
<div id="div1" name="div1"> </div>
<br/>
<button onclick="xajax_helloWorld(0)" >Click Me</button>
<button onclick="xajax_helloWorld(1)" >CLICK ME</button>
<button onclick="xajax_cargarCombos()">Cargar Combos</button>
<select id="colorselect" name="colorselect" onchange="xajax_setColor(document.getElementById('colorselect').value);">
<option value="0">Todos</option>
</select>
<script type="text/javascript">
xajax_helloWorld(0); // call the helloWorld function to populate the div on load
xajax_setColor(document.getElementById('colorselect').value); // call the setColor function on load
</script>
</body>
</html>