Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Problema con formulario en Firefox

Estas en el tema de Problema con formulario en Firefox en el foro de Frameworks JS en Foros del Web. Veréis, tengo un problema que me está dando bastantes dolores de cabeza. Estoy haciendo una página con una entrada de usuarios hecha en Ajax, para ...
  #1 (permalink)  
Antiguo 16/04/2007, 05:08
 
Fecha de Ingreso: abril-2007
Mensajes: 14
Antigüedad: 17 años
Puntos: 0
Problema con formulario en Firefox

Veréis, tengo un problema que me está dando bastantes dolores de cabeza. Estoy haciendo una página con una entrada de usuarios hecha en Ajax, para que cuando entra un usuario registrado no se tenga que recargar toda la página.

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:
<?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>
y las funciones ajax son:
Código:
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)
}
Para hacer que aparezca la ventana de login, en la página principal simplemente hay una llamada:

<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.
  #2 (permalink)  
Antiguo 16/04/2007, 06:48
 
Fecha de Ingreso: abril-2007
Mensajes: 14
Antigüedad: 17 años
Puntos: 0
Re: Problema con formulario en Firefox

Ya he conseguido resolver el problema, de una forma bastante absurda. Simplemente, en vez de encerrar sólo los elementos del formulario dentro del <form></form>, lo que he hecho ha sido encerrar toda la tabla dentro del formulario, es decir, el código ha quedado algo así:

<form method="post" name="formlogin">
<table id="login" align="center">
// Código del login escrito en la entrada anterior...
</table>
</form>
</body>
</html>

Lo que sigo sin saber es la razón por la que ocurre esto en Firefox y no en IE, de modo que si alguien la sabe le agradecería que la posteara aquí. En cualquier caso, dejo la forma como lo he solucionado por si a alguien le pudiera ser de utilidad.

Un saludo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 13:25.