La libreria funciona perfectamente en todos los lugares donde la he utilizado..
recientemento inicie un sitio nuevo y copie los archivos de libreria, realize la llamada a la misma y bueno todo lo que hago siempre!....
El tema es que en IE no funciona!!!!
Pero funciona en todos mis otros sitios, con el mismo archivo js!
O sea no he modificado nada, es mas , he copiado todo tal cual!.... y asi todo no funciona!... (sera que tengo que rechazar el trabajo y es un mensaje de parte de IE (DIOS DE LA WEB) que tengo que escuchar?)
Miren, tengo ese codigo
Código javascript:
Ver original
<!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" /> <title><?=$app['name'];?></title> <style type="text/css"> @import "css/datapickerstyles.css"; @import "css/general.css"; </style> <script type="text/javascript" src="lib/js/core.js"></script> <script type="text/javascript" src="lib/js/misc.js"></script> <script type="text/javascript" src="lib/js/datapicker_class.js"></script> </head> <body> <div id="panel"> <div id="top"> <div id="session_options">Sesión iniciada por <b><?=$_SESSION['usuario'];?></b>. (<a href="#">Modificar mis datos</a> - <a href="javascript:;" onClick="cerrarSesion();">Cerrar Sesión</a>)</div> </div> <div id="head"> <div id="app_name"><?=$app['name'];?></div> <div id="menu_tags"> <ul> <?php //************************************* // MUESTRO LOS LINKS A LOS MODULOS //************************************* foreach( $modulos->read() as $modulo ) { ?> <li><a href="app.php?modulo=<?=$modulo;?>&token=<?=token::get();?>"><?=ucfirst(str_replace("-", " ", $modulo));?></a></li> <?php } ?> </ul> </div> </div> <div id="center"> <?php //CARGAR MODULO $modulos->load( $_GET['modulo'] ); ?> </div> <div id="footer"><?=$app['name'];?> - Versión: <?=$app['version'];?> - Última modificación <?=$app['updated'];?><br />Desarrollado por <a target="_blank" href="<?=$app['creator_url'];?>"><?=$app['creator'];?></a></div> </div> </body> </html>
ahora bien, cuando cargo el modulo de alumnos que contiene la ejecucion del calendario no funciona...
El tema es que si borro todo el contenido del body, excepto el codigo php que carga el modulo el script funciona perfectamente...
El codigo de alumnos es el siguiente
Código html:
Ver original
<table border="0" cellpadding="0" cellspacing="0"> <tr> <td align="left" valign="top"> <div class="ventana_grande"> <form id="alu_form" action="" method="post"> <table class="table" border="0" cellpadding="0" cellspacing="0"> <tr> </tr> <tr> </tr> <tr> </tr> <tr> </tr> <tr> </tr> </table> </form> </div> <div class="ventana_grande"> <table width="100%" class="table" border="0" cellpadding="0" cellspacing="0"> <tr> </tr> <tr> </tr> </table> </div> </td> </tr> </table> <script type="text/javascript"> window.onload = function() { datapicker = new Epoch('Fecha','popup',document.getElementById('alu_nac'), false); } </script>
Ahora, no entiendo porque puede pasar esto, porque no veo errores html en el body!
El error que tira la clase esta en estas dos funciones
Código javascript:
Ver original
Epoch.prototype.getTop = function (element) //PRIVATE: returns the absolute Top value of element, in pixels { var oNode = element; var iTop = 0; while(oNode.tagName != 'BODY') { iTop += oNode.offsetTop; oNode = oNode.offsetParent; } return iTop; }; //----------------------------------------------------------------------------- Epoch.prototype.getLeft = function (element) //PRIVATE: returns the absolute Left value of element, in pixels { var oNode = element; var iLeft = 0; while(oNode.tagName != 'BODY') { iLeft += oNode.offsetLeft; oNode = oNode.offsetParent; } return iLeft; };
Ahora bien, no entiendo porque cuando realiza ese bucle se saltea el body! (esta comprobacion la hice con un alert)
y se saltea siempre una o dos etiquetas ...
Quiero decir, si yo tengo un armado de este tipo
<html><body><div><table><tr><td></td></tr></table></div></body></html>
el bucle lee el TD, el TABLE y el HTML!
Bueno espero que me puedan dar una mano! porque me estoy volviendo loco hace dias que estoy con esto! y lo que mas me estresa es que en realidad no hay errores en javascript, porque hasta ahora ha funcionado en todos los navegadores de todos los sitios que he hecho de la misma forma que este !