OK,
tenemos varios input, que cuando pierde foco quieres que vea en la BD si existe o no ese campo.
A la funcion le ponemos el nombre verificar con el parametro this, asi cogeremos cualquier atributo facilmente ;)
Código HTML:
<input type="text" name="nombre" id="nombre" value="" onblur="verificar(this)"/>
<input type="text" name="email" id="email" value="" onblur="verificar(this)"/>
Ahora tenemos el JS:
Código:
// funcion que genera el objeto XMLHTTP
function ajaxFunction()
{ var xmlHttp;
try { xmlHttp=new XMLHttpRequest();return xmlHttp; }
catch (e) { try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");return xmlHttp; }
catch (e) { try { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");return xmlHttp; }
catch (e) { alert("Your browser does not support AJAX!");return false; }
}}}
function verificar(esto)
{
var ajax = new ajaxFunction();
ajax.onreadystatechange=function()
{
if(ajax.readyState==4)
{
if(ajax.responseText=='Existe')
{
esto.value='';
esto.focus();
}
else if(ajax.responseText=='No existe')
{
// a tu gusto ;)
}
}
}
ajax.open("GET","pagina.asp?campo="+esto.name+"&valor=+"esto.value,true);
ajax.send(null);
}
El estado del "ajax" es de 5 fases, del 0 al 4:
Código:
0 The request is not initialized
1 The request has been set up
2 The request has been sent
3 The request is in process
4 The request is complete
copy paste de w3schools
vamos la que nos interesa es la 4 que es cuando recivimos la respuesta.
Vamos a ver los parametros que le paso a la pagina.asp por
GET
campo
valor
en dicha pagina tienes que hacer un:
Código:
select count(".$campo.") from tabla where ".$campo." like '".$valor."'
y si el resultado de esa select es 0 imprimir por pantalla: 'No existe' y en caso contrario 'Existe'.
Creo que con esto ya sabras llegar a la conclusion.
------------
PD: el NAME del input tiene que ser el mismo de la tabla de la BBDD.