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

Inicializar etiquetas DIV

Estas en el tema de Inicializar etiquetas DIV en el foro de Frameworks JS en Foros del Web. Hola a todos, aquí va mi pregunta. Tengo en un foro una zona en la que se puede rellenar un formulario y hay unos select ...
  #1 (permalink)  
Antiguo 23/11/2005, 04:18
Avatar de Mosiah  
Fecha de Ingreso: mayo-2002
Ubicación: Vitoria - Madrid
Mensajes: 229
Antigüedad: 21 años, 11 meses
Puntos: 0
Inicializar etiquetas DIV

Hola a todos,

aquí va mi pregunta.

Tengo en un foro una zona en la que se puede rellenar un formulario y hay unos select que cambian dinámicamente mediante AJAX.
Ahora bien, hasta que no cambio el primer select y se ejecuta la función de onChange no aparecen los selects que dependen de ese. Esto me imagino se resolvería poniendo la función en el onLoad del <body>, pero al ser un foro, la cabecera se introduce mediante un include para todas las secciones y el <body> está en dicha cabecera por lo que sería cargar el foro además de que podría haber problemas por utilizar las funciones de AJAX elementos que no estén en determinadas páginas.

He probado a utilizar la función setTimeout de javascript, pero no me ha funcionado, aunque igual la he utilizado mal ya que no la había usado nunca antes.

¿Alguna solución?

Saludos y gracias
  #2 (permalink)  
Antiguo 23/11/2005, 06:11
Avatar de Viet  
Fecha de Ingreso: octubre-2003
Ubicación: Mar del Plata - Argentina
Mensajes: 247
Antigüedad: 20 años, 6 meses
Puntos: 2
la verdad no te entendi del todo... no veo porque el setTimeout, igual te lo explico:

setTimeout('codigo a evaluar;',miliseg);
__________________
Keep it simple and keep it fast.
  #3 (permalink)  
Antiguo 23/11/2005, 07:41
Avatar de Mosiah  
Fecha de Ingreso: mayo-2002
Ubicación: Vitoria - Madrid
Mensajes: 229
Antigüedad: 21 años, 11 meses
Puntos: 0
Me voy a explicar mejor , o casi voy a hacer otra pregunta

Tengo una etiqueta DIV.
Si dentro de la etiqueta DIV pongo un determinado código html, al modificarlo con:

Código:
document.getElementById('nombre').innerHTML = _objetus.responseText;
Se tendrá en cuenta este nuevo código o el anterior??

Saludos y gracias otra vez

--------- Editado -------------;

Me autorespondo pero no se lo que pasa jeje.

Se supone que al modificar la etiqueta como he dicho anteriormente efectivamente debe reenplazar lo existente, pero, yo lo hago y se queda lo que había antes. Ahora bien, en la etiqueta DIV hay una imagen y si le doy a las propiedades de la imagen... tachan!!!, aparece lo que había en la etiqueta y lo que se supone introduzco con AJAX, es decir, me aparecen dos imágenes.

Alguna idea de lo que puede pasar???

Última edición por Mosiah; 23/11/2005 a las 08:21
  #4 (permalink)  
Antiguo 23/11/2005, 10:46
Avatar de Viet  
Fecha de Ingreso: octubre-2003
Ubicación: Mar del Plata - Argentina
Mensajes: 247
Antigüedad: 20 años, 6 meses
Puntos: 2
Bien:

lo que te puedo decir es que para poder acceder a un objeto del DOM mediante
Cita:
document.getElementById('nombre')
ese objeto debe estar "activo", es decir si tu objeto es un select dentro del html del div debe estar en el momento que lo quieras usar.

realmente no se porque te aparecen las dos imagenes... :(
__________________
Keep it simple and keep it fast.
  #5 (permalink)  
Antiguo 23/11/2005, 11:41
Avatar de Mosiah  
Fecha de Ingreso: mayo-2002
Ubicación: Vitoria - Madrid
Mensajes: 229
Antigüedad: 21 años, 11 meses
Puntos: 0
La verdad es que creo que me estoy complicando demasiado para algo que debe ser más sencillo.
Tengo el formulario con dos select. El segundo depende del primero.
El primero está inicializado a un cierto valor, y el segundo select, dentro de una etiqueta DIV, tiene para elegir los valores correspondientes al valor del primer select y está inicializado con uno determinado.

En el primer select tengo que cuando se cambie el valor se llame al fichero php con un cierto valor mediante AJAX y este devolverá el código html del nuevo select que debo poner en la etiqueta DIV.

El caso es que... está ahí pero no se ve el nuevo select!! , además de que el anterior se sigue viendo (el nuevo lo veo dando a propiedades de alguna imagen).

A que te refieres con lo del select activo? Si puede ser eso... dime dime

Saludos y gracias otra vez
  #6 (permalink)  
Antiguo 23/11/2005, 11:51
Avatar de Viet  
Fecha de Ingreso: octubre-2003
Ubicación: Mar del Plata - Argentina
Mensajes: 247
Antigüedad: 20 años, 6 meses
Puntos: 2
ahora si te entendi!...

no te compliques! mira: http://www.ashleyit.com/rs/jsrs/select/php/select.php
__________________
Keep it simple and keep it fast.
  #7 (permalink)  
Antiguo 24/11/2005, 05:12
Avatar de Mosiah  
Fecha de Ingreso: mayo-2002
Ubicación: Vitoria - Madrid
Mensajes: 229
Antigüedad: 21 años, 11 meses
Puntos: 0
Gracias Viet, si que era eso lo que quería hacer, lo que pasa es que en ese ejemplo se inicializan los select en el onLoad del <BODY> y yo tengo la etiqueta en una cabezera genérica y por eso no quería ponerlo ahí.

Al final he resuelto el problema. Parece ser que al hacer lo del innerHTML si que sustituye lo de dentro del DIV, pero solo si dentro hay un solo tipo de etiqueta. No se si esto será así, pero el caso es que yo tenía un:

Código HTML:
<td><select>
...
</select></td> 
y me pasaba lo que dije antes, pero al poner solo la etiqueta del select funciana bien

Salu2
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 15:19.