El caso es que me funciona perfectamente en IE, pero no así en Firefox. El error es que todo lo que va dentro de las etiquetas <form></form> no se visualiza en Firefox.
Os dejo aquí el código a ver si me podéis ayudar.
login.php:
Código:
y las funciones ajax son:<?php session_start(); include ("lang/idioma.es.php"); ?> <table id="login" align="center"> <?php if (!isset($_SESSION["user"])) { ?> <tr><td id="errorlogin" class="errorlogin" colspan="2"></td></tr> <form method="post" name="formlogin"> <tr> <td class="impacto"><?php echo USUARIO ?>: </td> <td><input type="text" name="usuario"></td> </tr> <tr> <td class="impacto"><?php echo CONTRASENA ?>: </td> <td><input type="password" name="password" onFocus="this.select()"></td> </tr> <tr> <td colspan="2" align="center"><br><input type="button" value="Entrar" onClick="comprobarLogin()"></td> </tr> </form> <tr> <td colspan="2" align="center" class="registrado"> <br> <?php echo SINREGISTRO ?> <a href="registrate.php"><?php echo HAZLOAQUI ?></a> </td> </tr> <tr> <td colspan="2" align="center" class="registrado"> <br> <a href="olvido.php"><?php echo OLVIDOCONTR ?></a> </td> </tr> <?php } else { // La parte a continuación es la que aparece cuando el usuario ya ha iniciado sesión en el sistema. ?> <tr> <td align="center" class="impacto"><?php echo BIENVENIDO . ", " . htmlentities($_SESSION["username"]) ?>!</td> </tr> <tr> <td align="center" class="registrado"> <br><a href="avanzadas.php"><?php echo OPCAVANZADAS ?></a> </td> </tr> <tr> <td align="center"><br><input type="button" value="<?php echo CERRARSES ?>" onClick="cerrarSesion()"></td> </tr> <?php } ?> </table>
Código:
Para hacer que aparezca la ventana de login, en la página principal simplemente hay una llamada:function nuevoAjax() { /* Crea el objeto AJAX. Esta funcion es generica para cualquier utilidad de este tipo, por lo que se puede copiar tal como esta aqui */ var xmlhttp=false; try { // Creacion del objeto AJAX para navegadores no IE xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { try { // Creacion del objet AJAX para IE xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } catch(E) { xmlhttp=false; } } if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp=new XMLHttpRequest(); } return xmlhttp; } function cargarLogin() { var contenedor; contenedor = document.getElementById('divlogin'); var ajax = nuevoAjax(); ajax.open("GET","login.php",true); ajax.onreadystatechange = function() { if (ajax.readyState == 4) { contenedor.innerHTML = ajax.responseText } } ajax.send(null) }
<script language="javascript">cargarLogin();</script>
al terminar la página, justo antes de las etiquetas </body></html>.
Repito que el problema es que en Firefox no se visualiza el código que hay entre las etiquetas <form> y </form>, es decir, los cuadros de texto y el botón de envío. Por favor, a ver si alguien puede ayudarme. Muchas gracias.