• Domingo 22 de Diciembre de 2024, 22:58

Autor Tema:  Componentes Creados Con Ajax  (Leído 2276 veces)

Mollense

  • Miembro de PLATA
  • *****
  • Mensajes: 1755
  • Nacionalidad: ar
    • Ver Perfil
    • http://solocodigo.com/
Componentes Creados Con Ajax
« en: Sábado 21 de Abril de 2007, 01:10 »
0
Hola amigos mios.

Me veo en la necesidad de acceder desde JavaScript a algunos componentes (Inputs) generados previamente mediante una página PHP ejecutada mediante AJAX cuyo resultado es asignado a un DIV de la página principal llamado "marco" de la siguiente manera:
Código: Text
  1. cuerpo=document.getElementById("marco");
  2. cuerpo.innerHTML=ajax.responseText;
  3.  
.-

El problema es a la hora de procesar los datos ingresados por el usuario en esos inputs ya que JavaScript no los puede accesar, y aunque los esté viendo en pantalla, en el código fuente de la página no están, se encuentra el DIV vacío
Código: Text
  1. <div id="marco"></div>
  2.  
como es cargado en un principio (Antes de ejecutar la petición mediante AJAX).-

Alguien conoce alguna solución o tiene alguna sugerencia para que pueda probar?

Se los agradezco por adelantado.-

Un saludo :beer:
"Los que renuncian son más numerosos que los que fracasan" H.F.
"No se cómo sería la III Guerra Mundial, pero la cuarta sería con piedras" A.E.
"Quién no fía no es de fiar..."


...no te quedes mirando.

Mollense

  • Miembro de PLATA
  • *****
  • Mensajes: 1755
  • Nacionalidad: ar
    • Ver Perfil
    • http://solocodigo.com/
Re: Componentes Creados Con Ajax
« Respuesta #1 en: Sábado 21 de Abril de 2007, 02:30 »
0
Bueno gente. Ya está.
En vez de acceder de la forma
Código: Text
  1. document.formCriteros.criterioChoferes.value
  2.  
se debe acceder mediante
Código: Text
  1. document.getElementById('criterioChoferes').value
  2.  

Un saludo
"Los que renuncian son más numerosos que los que fracasan" H.F.
"No se cómo sería la III Guerra Mundial, pero la cuarta sería con piedras" A.E.
"Quién no fía no es de fiar..."


...no te quedes mirando.

Altareum

  • Miembro MUY activo
  • ***
  • Mensajes: 327
    • Ver Perfil
    • http://www.avian.com.ar
Re: Componentes Creados Con Ajax
« Respuesta #2 en: Domingo 22 de Abril de 2007, 00:24 »
0
Bueno, en realidad, si el campo lo crea dentro del formulario "formCriteros", debería funcionar el código que intentabas utilizar, aunque depende mucho del navegador.

Igualmente no recomiendo usar la propiedad innerHTML, ya que es problemática. Por ejemplo en IE (no se la v7, porque no la he usado aún), si llenas un input, creado con innerHTML, y luego agregas un nuevo campo al documento (con innerHTML), el valor agregado desaparece.


Te recomiendo que uses la extensión FireBug de Firefox... es muy útil para ver lo que creas dinámicamente.


Altareum.
El postre!, el postre!, el postre!, el postre!, el postre!, el postre!.....
 | Klinka | Kiree | Avian |

Mollense

  • Miembro de PLATA
  • *****
  • Mensajes: 1755
  • Nacionalidad: ar
    • Ver Perfil
    • http://solocodigo.com/
Re: Componentes Creados Con Ajax
« Respuesta #3 en: Domingo 22 de Abril de 2007, 01:20 »
0
Muchas gracias Altareum

Cita de: "Altareum"
Bueno, en realidad, si el campo lo crea dentro del formulario "formCriteros", debería funcionar el código que intentabas utilizar, aunque depende mucho del navegador.
Cierto, el verdadero problema es que solo estaba especificando el atributo name y no así el id.-

Cita de: "Altareum"
Igualmente no recomiendo usar la propiedad innerHTML, ya que es problemática. Por ejemplo en IE (no se la v7, porque no la he usado aún), si llenas un input, creado con innerHTML, y luego agregas un nuevo campo al documento (con innerHTML), el valor agregado desaparece.
Que curioso, nunca se dio el caso en el que tenga que trabajar de esa forma y por eso lo desconocía. Alguna alternativa?

Cita de: "Altareum"
Te recomiendo que uses la extensión FireBug de Firefox... es muy útil para ver lo que creas dinámicamente.
Si lo tengo y gracias al cielo que existe :D

Un saludo Altareum :beer:
"Los que renuncian son más numerosos que los que fracasan" H.F.
"No se cómo sería la III Guerra Mundial, pero la cuarta sería con piedras" A.E.
"Quién no fía no es de fiar..."


...no te quedes mirando.

Altareum

  • Miembro MUY activo
  • ***
  • Mensajes: 327
    • Ver Perfil
    • http://www.avian.com.ar
Re: Componentes Creados Con Ajax
« Respuesta #4 en: Lunes 23 de Abril de 2007, 15:31 »
0
Cita de: "Angel_K_ido"
Cita de: "Altareum"
Igualmente no recomiendo usar la propiedad innerHTML, ya que es problemática. Por ejemplo en IE (no se la v7, porque no la he usado aún), si llenas un input, creado con innerHTML, y luego agregas un nuevo campo al documento (con innerHTML), el valor agregado desaparece.
Que curioso, nunca se dio el caso en el que tenga que trabajar de esa forma y por eso lo desconocía. Alguna alternativa?

Sip, usa las funciones del DOM como apendChild, childNodes, etc... Con estas no tendrás ningún problema.

Por otro lado,
Cita de: "Angel_K_ido"
Bueno, en realidad, si el campo lo crea dentro del formulario "formCriteros", debería funcionar el código que intentabas utilizar, aunque depende mucho del navegador.
Cierto, el verdadero problema es que solo estaba especificando el atributo name y no así el id.-[/quote]

??, pero si justamente para acceder la forma document.formluario.campo.value , se hace mediante el atributo name del campo.
El id, sirve para la función document.getElementById()


Altareum.
El postre!, el postre!, el postre!, el postre!, el postre!, el postre!.....
 | Klinka | Kiree | Avian |

Mollense

  • Miembro de PLATA
  • *****
  • Mensajes: 1755
  • Nacionalidad: ar
    • Ver Perfil
    • http://solocodigo.com/
Re: Componentes Creados Con Ajax
« Respuesta #5 en: Lunes 23 de Abril de 2007, 16:08 »
0
Cita de: "Altareum"
Cita de: "Angel_K_ido"
Cita de: "Altareum"
Igualmente no recomiendo usar la propiedad innerHTML, ya que es problemática. Por ejemplo en IE (no se la v7, porque no la he usado aún), si llenas un input, creado con innerHTML, y luego agregas un nuevo campo al documento (con innerHTML), el valor agregado desaparece.
Que curioso, nunca se dio el caso en el que tenga que trabajar de esa forma y por eso lo desconocía. Alguna alternativa?

Sip, usa las funciones del DOM como apendChild, childNodes, etc... Con estas no tendrás ningún problema.
Muchas gracias Altareum, voy a hacerlo como me decís.-

Cita de: "Altareum"
Por otro lado,
Cita de: "Angel_K_ido"
Bueno, en realidad, si el campo lo crea dentro del formulario "formCriteros", debería funcionar el código que intentabas utilizar, aunque depende mucho del navegador.
Cierto, el verdadero problema es que solo estaba especificando el atributo name y no así el id.-

??, pero si justamente para acceder la forma document.formluario.campo.value , se hace mediante el atributo name del campo.
El id, sirve para la función document.getElementById()[/quote]Si, eso es lo que yo tenia entendido pero no podía hacerlo funcionar, tal vez el error fue otro y lo resolví sin darme cuenta llegando a una conclusión equivocada :P . Voy a probar de nuevo.-

Un saludo :beer: y gracias de nuevo.-
"Los que renuncian son más numerosos que los que fracasan" H.F.
"No se cómo sería la III Guerra Mundial, pero la cuarta sería con piedras" A.E.
"Quién no fía no es de fiar..."


...no te quedes mirando.