Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/02/2010, 01:43
Avatar de aniMAYtions
aniMAYtions
 
Fecha de Ingreso: diciembre-2007
Ubicación: Granada
Mensajes: 519
Antigüedad: 17 años, 1 mes
Puntos: 2
problema con superposición de capas

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>&nbsp;</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 original
  1. function cambiaDiv()
  2. {
  3.     alert('entro');
  4.     document.getElementById("login").style.visibility = 'hidden';
  5.     document.getElementById("logout").style.visibility = 'visible';
  6. };
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
  1. #logueo
  2. {
  3.     position:relative;
  4.     margin-top:20px;
  5.     text-align:center;
  6. }
  7.  
  8. #logueo #login
  9. {
  10.     position:absolute;
  11.     z-index:2;
  12.     top:20px;
  13.     left:10px;
  14. }
  15.  
  16. #logueo #logout
  17. {
  18.     position:absolute;
  19.     z-index:1;
  20.     top:20px;
  21.     left:10px;
  22.    
  23. }

Gracias!!