Foros del Web » Programando para Internet » Jquery »

Validación formulario Ajax

Estas en el tema de Validación formulario Ajax en el foro de Jquery en Foros del Web. Hola, estoy haciendo una validación de formulario con Ajax y PHP pero no me funciona. Yo tengo la siguiente función que la llamo en el ...
  #1 (permalink)  
Antiguo 06/04/2016, 03:04
 
Fecha de Ingreso: marzo-2016
Mensajes: 2
Antigüedad: 8 años, 9 meses
Puntos: 0
Validación formulario Ajax

Hola, estoy haciendo una validación de formulario con Ajax y PHP pero no me funciona.

Yo tengo la siguiente función que la llamo en el formulario con onSubmit. El problema lo tengo que me llega antes al return false del final del todo cuadno aún no ha hecho la petición del ajax, entonces si la petición està correcta, como ya ha mandado false, no me manda el formulario. Pero las comprobaciones en el archivo php estan correctas y me devuelve bien, el problema es que la función validaForm devuelve false antes de esperarse a la respuesta del servidor.
Cómo puedo arreglarlo? Gracias

Código:
function validaForm(){
	$('#Info1').html('<div style="display:none" class="Error"></div>');
	$('#Info2').html('<div style="display:none" class="Error"></div>');
	$('#Info3').html('<div style="display:none" class="Error"></div>');
	$('#Info4').html('<div style="display:none" class="Error"></div>');
	$('#Info5').html('<div style="display:none" class="Error"></div>');
	$('#Info6').html('<div style="display:none" class="Error"></div>');
	$('#Info7').html('<div style="display:none" class="Error"></div>');
	
	var seleccion=($('input:radio[name=hayFide]:checked').val());
	if (seleccion=='Tengo Fide Id') {	
		if($("#fide_id").val() == ""){
			$('#Info1').html('<div class="Error">Campo obligatorio</div>');
			$("#fide_id").focus();
			return false;
		} else if (isNaN($("#fide_id").val())){
			$('#Info1').html('<div class="Error">Tiene que ser un valor numérico</div>');
			$("#fide_id").focus();
			return false;
		} else {
			var fide_id = $("#fide_id").val();  
			var dataString = 'fide_id='+fide_id+'&idioma='+language;
			$.ajax({
				type: "GET",
				url: "../wp-content/themes/Divi/comprobarFormulario.php",
				data: dataString,
				success: function(data) {							
					$('#Info1').fadeIn(1000).html(data);
					if (data=="") {
						if (comprobar()) {	
							return true;
						}
					} else {
						$("#fide_id").focus();
						return false;
					} 					
				}				
			});						
		}
	} else {
		if (comprobar()) {	
			return true;
		} 
	}
	
return false;	
}

Etiquetas: ajax, formulario
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:27.