Hola amig@s!!
Tengo un problema con una función javascript que se supone debería ocultarme una capa y mostrarme otra que tengo superpuesta. Pero no lo hace y no entiendo por qué, a ver si podeis aiudarme.
Las capas las imprimo con php de la siguiente forma
Código PHP:
echo"
<div id='logueo' align='center'>
<div id='login'>
<fieldset>
<form name='fidentifica' method = 'post' action = './Index.php'>
<table>
<tr>
<td><span class='login'><span class='username'><input type='text' name='user' id='user' value='Nombre de usuario' onClick='javascript:vaciaInput();'/></span></span></td>
<td> </td>
</tr>
<tr>
<td><span class='login'><span class='password'><input type='password' name='pss' value=''/></span></span></td>
<td><span class='login'><input type='submit' name='bslogin' value='' class='botonlogin' title='Enviar'/></span></td>
</tr>
<tr>
<td colspan = '2'>
<span class='login'>
<a href='#'><span class='lostpassword' title='No recuerdas tu clave?'></span></a><a href='#'><span class='lostusername' title='No recuerdas tu usuario?'></span></a><a href='#'><span class='registration' title='Crear una cuenta nueva'></span></a>
</span>
</td>
</tr>
</table>
</form>
</fieldset>
</div>
<div id='logout'>
<fieldset>
<form name='flogout' action='./Index.php' method='post'>
<table>
<tr>
<td><span class='login'><span class='texto-login'>Hola ";
if(isset($_SESSION['usuario']))
echo $_SESSION['usuario'];
echo"</span></span></td>
<td><span class='login'><input type='submit' name='bslogin' value='' class='botonlogout' title='Enviar'/></span></td>
</tr>
</table>
</form>
</fieldset>
</div>
</div>
Es un módulo de logueo. Al hacer click en el botón de login se recogen los datos en el Index.php, se comprueba si es correcta la información de logueo y si es así se iama a una función javascript
Código PHP:
if(isset($bslogin))
{
$usu = $_POST['user'];
$pss = $_POST['pss'];
if(login($usu, $pss))
{
echo"<script languaje='text/javascript'>
cambiaDiv();
</script>";
}
}
Código Javascript
:
Ver originalfunction cambiaDiv()
{
alert('entro');
document.getElementById("login").style.visibility = 'hidden';
document.getElementById("logout").style.visibility = 'visible';
};
Veis el alert? pues lo hace.
Esto último, la función javascript la he cambiado de varias maneras; así como la veis, poniendo que siga ocultándome la capa principal pero que la que está detrás cambie la clase y ahora tenga otra con z-index superior a la primera.
Y nada. Lo primero de todo es que no me oculta la primera capa(login), es más,la consola de errores de firefox me dice que
document.getElementById("login") is null y lo mismo de logout.
Otra cosa a tener en cuenta, el código css de logueo, login y logout es el siguiente
Código CSS:
Ver original#logueo
{
position:relative;
margin-top:20px;
text-align:center;
}
#logueo #login
{
position:absolute;
z-index:2;
top:20px;
left:10px;
}
#logueo #logout
{
position:absolute;
z-index:1;
top:20px;
left:10px;
}
Gracias!!