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

Validación de formulario especial

Estas en el tema de Validación de formulario especial en el foro de Frameworks JS en Foros del Web. Buenas tardes a todos. Es la primera vez que me meto con el AJAX, y no se si podrá realizar lo que estoy intentando. Actualmente ...
  #1 (permalink)  
Antiguo 04/09/2006, 11:39
 
Fecha de Ingreso: septiembre-2003
Ubicación: Madrid
Mensajes: 53
Antigüedad: 20 años, 7 meses
Puntos: 1
Validación de formulario especial

Buenas tardes a todos.

Es la primera vez que me meto con el AJAX, y no se si podrá realizar lo que estoy intentando.


Actualmente tengo un formulario con un montón de campos y para validarlo me voy a otra página ya que algunos campos tengo que comprobar que el valor existe en una tabla de la base de datos y si no devolver un código de error, estos errores se van encolando para sacar al final todo el formulario con los valores y un mensaje de error encima de cada uno de los campos que hayan dado error.

Muy bien, pues para no repetir código, lo que quiero es hacerlo en la misma página, lanzo el php con AJAX y necesitaría recoger el xml con los errores y mostrar las capas correspondientes a los errores, pero mi problema llega a la hora de recibir y tratar el xml que me devuelve el código php, yo tengo el xml pero como lo trato con javascript para poder usarlo????.

A alguien se le ocurre algo?

Gracias por todo. Un saludo.
  #2 (permalink)  
Antiguo 04/09/2006, 13:07
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años
Puntos: 35
loading.....................



OK un pequeño curso:

si lo que te devuelve es esto

Código:
<response>
  <data>bla</data>
  <data>bla</data>
</response>
entonces digamos que recibes ese XML en la variable teta

teta=xmlhttprequest.responseXML;

entonces para ver cuantos NODOS de nombre DATA tienes debes hacer

datas=teta.getElementsByTagName("data");

ve como pongo teta.getElementsByTagName("data"); pongo data porque lo que busco son los NODOS <data>bla</data> si quisiera <otro>bla</otro> pondria teta.getElementsByTagName("otro");
entonces acá datas será otro objeto con los elementos <data>bla</data>

si haces un

alert(datas.length)

te devolvera la cantidad de NODOS DATA que tienes

tambien puedes acceder el valor de cada nodo con

valor0=datas[0].firstChild.nodeValue;
valor1=datas[1].firstChild.nodeValue;
valor2=datas[2].firstChild.nodeValue;


ahora bien si sucede que <data> otro nodo como ser
Código:
<data>
  <file>bleh</file>
  <file>bleh</file>
</data>
entonces debes hacer lo mismo que hiciste para recibir los nodos DATA solo que en vez de la variable TETA debes usar la variable donde tienes el objeto (nodo actual).

valor0=datas[0]; <-- este es el primer nodo <data></data>
files=valor0.getElementsByTagName("file");

file0=files[0].firstChild.nodeValue;
file1=files[1].firstChild.nodeValue;



ahora seria bueno que pongas el como formas tu XML para ayudarte mejor


connection closed.
__________________

Maborak Technologies

Última edición por MaBoRaK; 04/09/2006 a las 13:13
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:52.