Ver Mensaje Individual
  #4 (permalink)  
Antiguo 25/09/2015, 16:23
Pantaláimon
 
Fecha de Ingreso: julio-2006
Ubicación: Barcelona
Mensajes: 244
Antigüedad: 17 años, 10 meses
Puntos: 32
Respuesta: Validar segun resultado de una peticios ajax jquery

elseif? Lo siento mucho pero el lenguaje que usáis no es javascript.

A partir de ahora supondré que se ha querido escribir else if.

Añadiré 4 cosillas a tu código para que luego se entienda mi código equivalente pero que funciona:

Código Javascript:
Ver original
  1. function a () {}
  2. function b () {}
  3. function c () {}
  4.  
  5. function validaform(falta_la_variable_campo) {
  6.       if (campo.length == 0) {
  7.           a()
  8.       } else if(campo2.length == 0) {
  9.           b()
  10.       } else if (validateinfo(campo2)) {
  11.           c()
  12.       }
  13. }
  14.  
  15.  
  16. function validateinfo(info) {
  17.     $.ajax({
  18.         data:  {
  19.             info: info,
  20.         },
  21.         url:   'validador.php',
  22.         type:  'post',
  23.         success:  function (response) {
  24.             if (response == 1)
  25.                 return true;
  26.             else
  27.                 return false;
  28.         }
  29.     });
  30. }

Para resolver este tipos de problemas de asincronicidad existe el objeto $.Deferred de jQuery:

Código Javascript:
Ver original
  1. function a () {}
  2. function b () {}
  3. function c () {}
  4.  
  5. function validaform(falta_la_variable_campo) {
  6.       if (campo.length == 0) {
  7.           a()
  8.       } else if(campo2.length == 0) {
  9.           b()
  10.       } else {
  11.           validateinfo(campo2)
  12.           .done(c)
  13.       }
  14. }
  15.  
  16.  
  17. function validateinfo(info) {
  18.     var defer = $.Deferred()
  19.     $.ajax({
  20.         data:  {
  21.             info: info,
  22.         },
  23.         url:   'validador.php',
  24.         type:  'post'
  25.     }).done(function (response) {
  26.         if (response == 1)
  27.             defer.resolve()
  28.         } else {
  29.             defer.reject()
  30.         }
  31.     });
  32.     return defer
  33. }

Un saludo!
__________________
github.com/xgbuils | npm/xgbuils