Todo el javascript está correcto, pero la parte en AJAX no funciona, más preciso de la linea 39 a las 55. Es donde estoy metiendo el Ajax (un código que me encontre en la web) pero estoy metiendolo en una function como si fuera js, lo cierto es que no se como funciona esto.
Me podrían ayudar.
Gracias.
Código Javascript:
Ver original
<script language="javascript" type="text/javascript"> function xmlhttp(){ var xmlhttp; try{xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");} catch(e){ try{xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");} catch(e){ try{xmlhttp = new XMLHttpRequest();} catch(e){ xmlhttp = false; } } } if (!xmlhttp) return null; else return xmlhttp; } function validar(){ var username = document.getElementById('username').value, ajax = xmlhttp(); //Actualizar function updateTips(t){ document.getElementById('validateTips').innerHTML = t; } //Validar campos de formulario function checkEmpty(a,b){ if( a.length <= 0 ) { updateTips("Debes escribir un "+b+"."); return false; } else { return true; } } //validar caracteres alfanumericos function checkRegexp(a,regexp,b){ if( !(regexp.test(a)) ){ updateTips("Solo se permiten caracteres alfanuméricos"); return false; } else { return true; } } //Buscar en la base de datos function findUser(){ ajax.onreadystatechange=function(a,b){ if(ajax.readyState==1){ updateTips(b); } if(ajax.readyState==4){ updateTips(ajax.responseText); } if(query.length<=0){ updateTips(ajax.responseText); } } ajax.open("GET","checkUser.php?q="+encodeURIComponent(a),true); ajax.send(null); return false; } var bValid = true; bValid = bValid && checkEmpty(username,"Nombre de usuario"); bValid = bValid && checkRegexp(username,/^[\w\,.!¿?'áéíóúÁÉÍÓÚñÑ\-@\s]+$/i,"Nombre de usuario"); bValid = bValid && findUser(username,"<img src='images/loading.gif' alg='Loading...'>"); if(bValid) { updateTips("Todo correcto"); } } </script>