Ver Mensaje Individual
  #6 (permalink)  
Antiguo 04/06/2008, 12:19
Avatar de killerangel
killerangel
 
Fecha de Ingreso: septiembre-2007
Ubicación: Un punto en el espacio
Mensajes: 592
Antigüedad: 17 años, 7 meses
Puntos: 10
Respuesta: Esto es frustrante!!

pues me explico mejor con esto:

tengo una funcion q llamo YaExiste():

Código:
function YaExiste(Ctrl,Dir,From,Msj){ alert('ya '+errores);
	document.getElementById(Ctrl).disabled=true;
	var divcontenido=document.getElementById("M"+Ctrl);							
	var mjscargando="<img src='"+Dir+"images/loading0.gif' />";
	divcontenido.innerHTML=mjscargando;
	var existe=nuevoAjax();
	var get='Select='+Ctrl+'&From='+From+'&Where='+Ctrl+'="'+document.getElementById(Ctrl).value+'"';
	existe.open("GET",Dir+'auxiliares/yaexiste.php?'+get,true);
 existe.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	existe.send(null);
	existe.onreadystatechange=function(){
		if (existe.readyState==4){
			if (existe.responseText != 'N'){ bien(Ctrl,'../../');}
			else{error(Ctrl,Msj);}
			if (todo==false){document.getElementById(Ctrl).disabled=false; return;}
			switch (Ctrl){
			case 'col_cod_mod'://alert('pasa a ruc');
			 VrfRucOpcional('col_ruc');break;
			case 'col_ruc'://alert('pasa a contiua')
			 continuacole();break;
			case 'User_nom_usu'://alert('pasar a mail');
			 VrfMail();break;
			case 'user_mail'://alert('pasar a dni')
			 VrfDni();break;
			case 'user_dni'://alert('pasar a ruc')
			 VrfRuc();break;
			case 'user_ruc'://alert('pasa a contiua')
			 codigo();break;
			}
		}
	}
}
la uso asi:

Cita:
function VrfUnomusu(){
if( vacio('User_nom_usu') && minimo('User_nom_usu',4))
YaExiste('User_nom_usu','','user','No Disponible');
else if (todo==true) VrfMail();
}//VrfUnomusu
//si no es vacio(mensaje de obligatorio) y tiene minimo 4 caracteres verifica con ajax
//sino verificara el mail
function VrfMail(){
if( hayvalor('user_mail') && minimo('user_mail',8) && mail("user_mail"))
YaExiste('user_mail','','user','Correo ya registrado');
else if (todo==true) VrfDni();
}//VrfMail
//si tiene algun valor (opcional) y minomo 8 caracteres y cumple con expresion regular de mail verifica con ajax
//sino verificar Dni... etc etc...

RESUMIENDO:

Es una funcion general que llamo cuando quiero saber si un dato intriducido esa disponible o no....
Por otra parte lo que hago es una recursividad de la funcion que me premite usarla para validar 4 campos y cuando termino de validar el ultimo campo que necesito llama a otra funcion que validara los campos no necesarios de ajax, como ya mencione...

despues que valida los campos con ajax y sin ajax se envia el formulario (si no detecta error).