Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/12/2011, 19:50
sentnel
 
Fecha de Ingreso: octubre-2010
Mensajes: 122
Antigüedad: 14 años
Puntos: 6
Problema con formulario de registro y confirmacion

Hola todos!

Tengo una pagina de inscripcion o registro de miembros que abre en un popup "modal", y al finalizar el formulario, al presionar "enviar" debe aparecer una alerta diciendo "Se ha enviado un correo para completar el registro" y al cerrar esa alerta debe cerrar el "popup" y no lo esta haciendo.

El formulario funciona, guarda la informacion en la base de datos y envia el email de confirmacion, mi problema esta en que al oprimir "enviar" el formulario se queda sin notificar que ha sido completado, y el popup se queda en pantalla, solo se sabe que ha sido enviado porque si intenta oprimir de nuevo enviar entonces muestra que hay problemas en el formulario y muestra duplicidad en algunos campos. Mi pregunta es: que impide que el "alerta" se ejecute y que se cierre el formulario modal luego de darle ok al "alert"?

Gracias!

A

Aqui la funcion procesarRegistro:

Código:
onsubmit="return procesarRegistro(this)"


Código:
function procesarRegistro(f) {
	var datos = "";
    var inputs = f.getElementsByTagName("input");
    for (var i = 0; i < inputs.length; i ++) {
		if(inputs[i].type == "radio") {
			if(inputs[i].checked) {
				datos += inputs[i].name+"="+inputs[i].value+"&";
			}
		} else {
			datos += inputs[i].name+"="+inputs[i].value+"&";
		}
    }
	var selects = f.getElementsByTagName("select");
	for(var i = 0; i < selects.length; i ++) {
		datos += selects[i].name+"="+selects[i].value+"&";
	}
	
	var img = document.getElementsByTagName("img");
	for(var i=0; i<img.length; i++) {
		img.item(i).removeAttribute("style");
	}
	
	requestAJAX(f.action,responderRegistro,{data:datos});
	return false;
}

function responderRegistro(r) {
	if(r) {
		var res = r.parseJSON();
		if(res) {
			for (var val in res) {
				if(document.getElementsByName(val).item(1)) {
					var element = document.getElementsByName(val).item(1);
					element.style.display = "inline";
					if(res[val] == "obg") {
						element.title = "Este campo es obligatorio";
					} else if(res[val] == "fif") {
						if(val == "cedula") {
							element.title = "Formato Invalido \"123-1234567-1\"";
						} else if(val == "tCasa" || val == "tTrabajo" || val == "tMovil") {
							element.title = "Formato Invalido \"123-123-1234\"";
						} else if(val == "codPos") {
							element.title = "Formato Invalido \"12345\"";
						} else if(val == "email") {
							element.title = "Formato Invalido \"[email protected]\"";
						}else if( val == "fecha") {
							element.title = "Formato Invalido \"1234-12-12\"";
						}
					} else if(res[val] == "obt") {
						element.title = "Debe registrar un telefono";
					} else if(res[val] == "nsi") {
						element.title = "Contraseñas no coinciden";
					} else if(res[val] == "cna") {
						element.title = "Captcha incorrecto";
					} else if(res[val] == "vur") {
						element.title = "Ya esta registrado";
					}
				}
			}
		alert("existe un ERROR\nrevisa cada uno de los campos");
		} else {
			alert(r);
		}
	} else {
		alert("Se ha enviado un correo para completar el registro");
		hideModal();
	}
	document.getElementById("show").innerHTML = r;
}