Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] problema con DOM ajax

Estas en el tema de problema con DOM ajax en el foro de Javascript en Foros del Web. buenas tardes, espero que esten bien tengo el siguiente problema: uso el complemento LIVEVALIDATION ( http://livevalidation.com/examples ) para validar los campos de un formulario. el ...
  #1 (permalink)  
Antiguo 29/10/2013, 12:24
Avatar de andresbetancourt  
Fecha de Ingreso: julio-2008
Ubicación: colombia
Mensajes: 334
Antigüedad: 16 años, 5 meses
Puntos: 2
problema con DOM ajax

buenas tardes,

espero que esten bien

tengo el siguiente problema:

uso el complemento LIVEVALIDATION (http://livevalidation.com/examples)

para validar los campos de un formulario.

el formulario es cargado en la pagina HTML maestra de forma dinamica con AJAX

al hacer esto, las validaciones con LIVEVALIDATION no funcionan pero

cuando el formulario no se carga con AJAX sino que se incrusta el codigo del formulario

en la pagina HTML si funciona.

he buscado en internet y al parecer es porque al llamar el formulario con AJAX

los ID de los campos INPUT del formulario no se han cargado en el DOM de la página HTML

por tal motivo se debe hacer el llamado de las validaciones luego de la sentencia

RESPONSETEXT, lo he hecho de esta forma y me ha funcionado cuando pongo

la validacion del primer campo, pero no cuando pongo la validación

de todos los campos.


-----CODIGO ACTUAL------

PAGINA MAESTRA:


<HTML>
<HEAD>
<script src="LIVEVALIDATION.js" language="JavaScript"></script>
<SCRIPT>

CODIGO AJAX QUE CARGA EL FORMULARIO

</SCRIPT>
</HEAD>
<BODY>

<DIV id="CONTENEDOR">

aca se carga el formulario

</DIV>

</BODY>
</HTML>




FORMULARIO:

<FORM>

<INPUT TYPE="TEXT" ID="F1">

<SCRIPT>
var f1 = new LiveValidation('f1');
f1.add( Validate.Presence );
</SCRIPT>

</FORM>




-----CODIGO SUGERIDO (PERO NO FUNCIONA TOTALMENTE)------


PAGINA MAESTRA:


<HTML>
<HEAD>
<script src="LIVEVALIDATION.js" language="JavaScript"></script>

<SCRIPT>

function CARGAFORMULARIO()
{
.
.
.
if(conexion1.readyState == 4)
{
......responseText;


var f1 = new LiveValidation('f1');
f1.add( Validate.Presence );



}
else
if (conexion1.readyState==1 || conexion1.readyState==2 || conexion1.readyState==3)
{
...
}
}



</SCRIPT>

<BODY>

<DIV id="CONTENEDOR">

aca se carga el formulario

</DIV>

</BODY>
</HTML>


-----CODIGO QUE SI FUNCIONA------


PAGINA MAESTRA:


<HTML>
<HEAD>
<script src="LIVEVALIDATION.js" language="JavaScript"></script>
</HEAD>
<BODY>

<DIV id="CONTENEDOR">

<FORM>

<INPUT TYPE="TEXT" ID="F1">

<SCRIPT>
var f1 = new LiveValidation('f1');
f1.add( Validate.Presence );
</SCRIPT>

</FORM>

</DIV>

</BODY>
</HTML>



IMPORTAN: la funcion javascript que carga el formulario es llamada por medio de un enlace que envía los datos
que contienen los campos del formulario para que el usuario los modifique y guarde los cambios.

muchas gracias
__________________
http://tecnologiaco.com/
  #2 (permalink)  
Antiguo 29/10/2013, 13:23
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 4 meses
Puntos: 1532
Respuesta: problema con DOM ajax

efectivamente, cuando haces peticiones AJAX, todo elemento cargado en el DOM no tendrá los eventos declarados en el onReady del DOM, porque obviamente no existen en dicho momento, por el cual debes de re-asignarlos en el onreadystatechange.

y por favor, escriba adecuadamente

no

hay

necesidad

de utilizar

doble espacio

para

separar

oraciones, para ello existen los signos gramaticales

y use el highlight para mostrar código
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 29/10/2013, 13:45
Avatar de andresbetancourt  
Fecha de Ingreso: julio-2008
Ubicación: colombia
Mensajes: 334
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: problema con DOM ajax

vale muchas gracias por tu respuesta maycolalvarez,

Me podrias por favor ayudar con el tema, ahora que hemos detectado que es por DOM. Sucede que otras páginas web de dicha aplicación, son cargadas con AJAX haciendo uso del metodo LOAD que tiene JQUERY y aún así, funciona el LIVEVALIDATION pero este formulario al que me refiero en especial, no deja funcionar el LIVEVALIDATION ya que es cargado con AJAX purto es decir, sin usar JQUERY.

¿qué debo hacer para solucionar mi problema?
__________________
http://tecnologiaco.com/
  #4 (permalink)  
Antiguo 30/10/2013, 08:06
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses
Puntos: 574
Respuesta: problema con DOM ajax

Ya que has insistido por MP te respondo pero....

No soy muy partidario de jquery pero si lo tienes funcionado en el resto de la web porque no lo usas para este formulario?

Por otro lado no conozco LIVEVALIDATION ....
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #5 (permalink)  
Antiguo 30/10/2013, 13:15
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 11 meses
Puntos: 29
Respuesta: problema con DOM ajax

Lol pues yo también he recibido un mensaje por MP vaya spam que has hecho

A mi también como quimfv no me gusta jquery y tampoco conozco LIVEVALIDATION pero como dijo maycolalvarez has que los eventos se carguen despues de que recibas el formulario con ajax y no con el evento onload de jquery.
  #6 (permalink)  
Antiguo 30/10/2013, 13:17
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 11 años, 3 meses
Puntos: 578
Respuesta: problema con DOM ajax

A mí también! Deberían banear a este usuario
  #7 (permalink)  
Antiguo 31/10/2013, 09:11
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 11 meses
Puntos: 29
Respuesta: problema con DOM ajax

Cita:
Iniciado por PHPeros Ver Mensaje
A mí también! Deberían banear a este usuario
No... tampoco seas tan malo. Supongo que después de esto no hará mas spam.
  #8 (permalink)  
Antiguo 31/10/2013, 09:34
Avatar de andresbetancourt  
Fecha de Ingreso: julio-2008
Ubicación: colombia
Mensajes: 334
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: problema con DOM ajax

que pena el spam

muchas gracias por las respuestas.
__________________
http://tecnologiaco.com/
  #9 (permalink)  
Antiguo 31/10/2013, 09:37
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 11 años, 3 meses
Puntos: 578
Respuesta: problema con DOM ajax

Cita:
Iniciado por andresbetancourt Ver Mensaje
que pena el spam
¿A qué te refieres con eso?
  #10 (permalink)  
Antiguo 31/10/2013, 09:41
Avatar de andresbetancourt  
Fecha de Ingreso: julio-2008
Ubicación: colombia
Mensajes: 334
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: problema con DOM ajax

no me queda muy claro, el tema es que no me funciona o me funciona a medias

resulta que luego de ejecutar la sentencia "responseText", he puesto las lineas propias de LIVEVALIDATION para hacer la validación de los campos, con el fin de que tome el DOM, es decir que abajo de responseText pongo:

// para validar el campo 1
var f1 = new LiveValidation('f1');
f1.add( Validate.Presence );

// para validar el campo
var f1 = new LiveValidation('f2');
f2.add( Validate.Presence );

y asi sucesivamente cuantos campos tenga

.
.
.


pero me funciona a medias porque cuando pongo unicamente la validacion del primer campo funciona, pero cuando pongo el resto, ya no funciona.

agradezco su ayuda
__________________
http://tecnologiaco.com/
  #11 (permalink)  
Antiguo 31/10/2013, 10:12
Avatar de andresbetancourt  
Fecha de Ingreso: julio-2008
Ubicación: colombia
Mensajes: 334
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: problema con DOM ajax

A que, que pena con el spam
__________________
http://tecnologiaco.com/
  #12 (permalink)  
Antiguo 31/10/2013, 11:30
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 5 meses
Puntos: 1567
Respuesta: problema con DOM ajax

Vamos mejorando, a mi no me mando un MP, me mandó un MV.
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #13 (permalink)  
Antiguo 31/10/2013, 12:06
Avatar de andresbetancourt  
Fecha de Ingreso: julio-2008
Ubicación: colombia
Mensajes: 334
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: problema con DOM ajax

creo que la idea es ayudar en el foro, no convertirlo en un chat
__________________
http://tecnologiaco.com/
  #14 (permalink)  
Antiguo 31/10/2013, 15:51
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 11 meses
Puntos: 29
Respuesta: problema con DOM ajax

Cita:
Iniciado por andresbetancourt Ver Mensaje
creo que la idea es ayudar en el foro, no convertirlo en un chat
No convertirlo en un chat?? Su eres tu el que manda mensajes. Seguramente la gente no te contesta porque no lo sabe y no hace falta que envíes mensajes a todo el mundo ya que el que lo sabe te contestara. Imagínate que pasaría si todos nos ponemos a enviar mensajes porque no nos contestan rápido.

Etiquetas: ajax, dom, js
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 12:29.