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).