Foros del Web » Programando para Internet » Javascript »

Problemas con capas y con document.write( )

Estas en el tema de Problemas con capas y con document.write( ) en el foro de Javascript en Foros del Web. Hola a todos. Soy nuevo tanto en el foro como en el lenguaje javascript, así que tengo algunas dudas que espero que alguien me pueda ...
  #1 (permalink)  
Antiguo 25/03/2005, 19:11
 
Fecha de Ingreso: marzo-2005
Mensajes: 1
Antigüedad: 19 años, 1 mes
Puntos: 0
Busqueda Problemas con capas y con document.write( )

Hola a todos.
Soy nuevo tanto en el foro como en el lenguaje javascript, así que tengo algunas dudas que espero que alguien me pueda resolver.

Quiero crear un formulario a partir de javascript para poder luego modificarlo dinámicamente. Este formulario debería formar parte de una capa específica.
Pero mi problema es que con la instrucción "document.write( )" no consigo que la capa reconozca las propiedades que le quiero dar a través de una classe. En cambio si que me reconoce el nombre.

Parece díficil de entender pero la cuestión es muy sencilla:

Aquí hay un ejemplo de lo que más o menos querría obtener (generando el formulario en HTML):
Código PHP:
<html>
<
head>
    <
title>Pr&agrave;ctica del curs css/javascript"Carrera a la granja" </title>
    <
style type="text/css">
    
body font-family:verdana,sans-seriffont-size:x-smallbackground-color:red; }
    .
ClasseFormulari font-familyverdanasans-seriffont-size:x-largepositionabsolutetop0left0height100%; width100%; visibilityhiddenbackground-color:silver; }
    </
style>
    <
script type="text/javascript" src="api.js"></script>
    <script type="text/javascript">
    <!--
    function Analitzar(){
        alert('Hola');
        Visualitzar('CapaFormulari');
        alert('Adéu');
        Amagar('CapaFormulari');
    }

    //-->
    </script>
</head>
<body>
    <input type="button" value="Iniciar partida" OnClick="Analitzar()">
    <div id="CapaFormulari" class="ClasseFormulari"> Hola </div>
</body>
</html> 

En cambio si quiero generar la capa dentro del código de javascript, creo que se debería hacer algo así:
Código PHP:
<html>
<
head>
    <
title>Pr&agrave;ctica del curs css/javascript"Carrera a la granja" </title>
    <
style type="text/css">
        
body font-family:verdana,sans-seriffont-size:x-smallbackground-color:red; }
        .
ClasseFormulari font-familyverdanasans-seriffont-size:x-largepositionabsolutetop0left0height100%; width100%; visibilityhiddenbackground-color:silver; }
    </
style>
    <
script type="text/javascript" src="api.js"></script>
    <script type="text/javascript">
    <!--
    function Analitzar(){
        alert ('Hola');
        
        document.write( '<div id="CapaFormulari" class="Classeformulari"> Hola </div>' );
        
        alert ('Adéu');
        
        Amagar ('CapaFormulari');
    }
    //-->
    </script>
</head>
<body>
    <input type="button" value="Iniciar partida" OnClick="Analitzar()">
</body>
</html> 
Nota: Las funciones "Visualitzar()" i "Amaga()" son dos funciones externas que simplemente hacen visibles o esconden las capas que se les pasa.

Como se ve en este segundo ejemplo, que es el que me interesa resolver, la capa si que obtiene bien el nombre (por eso luego desaparece) pero no obtiene los atributos de la clase, cuando en el 1er ejemplo si que lo hacía bien.


Bueno, pues mi duda es esta, saber como debo hacerlo con la instrucción "document.write( )" para poder dar los atributos de una clase a una capa.

Podeis ver los 2 ejemplos en las siguientes páginas:

Primer ejemplo (más o menos como debería de ir pero hecho en HTML): http://62.57.98.116/~jordi/js/prueba1.html

Segundo ejemplo (hecho con javascript pero no sale lo esperado):
http://62.57.98.116/~jordi/js/prueba2.html

Espero que alguien sepa decirme porque no me funciona.

Muchísimas gracias.
  #2 (permalink)  
Antiguo 26/03/2005, 01:38
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola kapri, bienvenido a los foros :

Si quieres escribir en un documento ya abierto con write, lo que haces es "machacar" todo lo que había en él, incluso las definiciones de estilos...

Una forma sencilla es usar innerHTML...

function Analitzar(){
// alert ('Hola');

document.body.innerHTML += '<div id="CapaFormulari" class="Classeformulari"> Hola </div>';

// alert ('Adéu');

// Amagar ('CapaFormulari');
}


Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
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.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:20.