Foros del Web » Programando para Internet » Javascript »

Comprobar antes de enviar a AJAX

Estas en el tema de Comprobar antes de enviar a AJAX en el foro de Javascript en Foros del Web. Buenas. Tengo una pequeña duda. Explico: Tengo un formulario que actualiza campos en una tabla de una bd mysql mediante AJAX. Consigo actualizar, pero todos ...
  #1 (permalink)  
Antiguo 18/05/2009, 10:20
Avatar de aliza  
Fecha de Ingreso: diciembre-2008
Mensajes: 156
Antigüedad: 15 años, 4 meses
Puntos: 6
Comprobar antes de enviar a AJAX

Buenas. Tengo una pequeña duda.

Explico:

Tengo un formulario que actualiza campos en una tabla de una bd mysql mediante AJAX.

Consigo actualizar, pero todos los campos a la vez, y ese es el problema. Lo que busco es que si un campo está vacío, no se envíe al AJAX para que no me modifique el valor que ya tengo.

La idea es que mediante JavaScript no me envíe los campos vacíos.

Me han dicho que debería usar algo así, pero no me aclaro:
################################################
params = new Array();
if (campo.value != "") params.push(campo.name + "=" + escape(campo.value));
...

Ajax.send(params.join("&"));
################################################
Si alguien pudiera explicármelo un poco, o comentarme una forma mejor de solucionarlo...

Muchas gracias.
__________________
Dando cabezados se aprende...
  #2 (permalink)  
Antiguo 18/05/2009, 10:36
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años
Puntos: 43
Respuesta: Comprobar antes de enviar a AJAX

Si llamas a una funcion javascript y validsa esto, si es todo correcto entonces llamas al ajax. La funcion podria ser algo como esto:

Código html:
Ver original
  1. function isEmpty(inputVal)
  2. {
  3.   inputStr = inputVal.length
  4.   var contsps = 0    // contador de espacios en blanco
  5.   for (var i = 0; i < inputStr ; i++)
  6.  {
  7.     var oneChar = inputVal.charAt(i)
  8.     if (oneChar == " ")
  9.     {
  10.       contsps = contsps + 1
  11.     }
  12.  }
  13.  if (contsps == inputStr)
  14.  {
  15.     return true
  16.  }
  17.  else
  18.  {
  19.     return false
  20.  }
  21. }
  22.  
  23. function validaContacto()
  24. {
  25.     var error='Se ha encontrado los siguientes errores: \n\n';
  26.     var band=0;
  27.     formu=document.getElementById('contactoForm');
  28.     if(isEmpty(formu.contacto.value))
  29.     {
  30.         error+="* El campo contacto no puede estar vac\u00edo \n";
  31.         band=1;
  32.     }
  33.     if(isEmpty(formu.email.value))
  34.     {
  35.         error+="* El campo email no puede estar vac\u00edo \n";
  36.         band=1;
  37.     }
  38.     if(band==1)
  39.     {
  40.         alert(error);
  41.         return false;
  42.     }
  43.     return true;
  44. }

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #3 (permalink)  
Antiguo 19/05/2009, 02:20
Avatar de aliza  
Fecha de Ingreso: diciembre-2008
Mensajes: 156
Antigüedad: 15 años, 4 meses
Puntos: 6
Respuesta: Comprobar antes de enviar a AJAX

Muchas gracias the_web_saint. Veo mucha utilidad en la primera función, pero la segunda no se ajusta a lo que necesito, porque yo no quiero que muestre un mensaje avisando de que está vacío, sino que directamente no lo envíe. Voy a trabajar con la primera a ver que puedo sacar.

Un saludo.
__________________
Dando cabezados se aprende...
  #4 (permalink)  
Antiguo 19/05/2009, 07:55
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años
Puntos: 43
Respuesta: Comprobar antes de enviar a AJAX

Solo basta modificar un poco, quitando el error, y donde dice return true, llamas a la funcion ajax, y no imprimes el alert se adapta a tus necesidades.

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #5 (permalink)  
Antiguo 20/05/2009, 00:58
Avatar de aliza  
Fecha de Ingreso: diciembre-2008
Mensajes: 156
Antigüedad: 15 años, 4 meses
Puntos: 6
Respuesta: Comprobar antes de enviar a AJAX

Si claro, modificando si, jeje. Ya lo tengo. Eso es lo que hice, adaptar el código.
Muchas gracias the_web_saint.
__________________
Dando cabezados se aprende...
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 13:17.