Hombre Dradi7, cúanto me alegra que me contestes.Estoy bien gracias espero que vosotros tambien por allí.
Mira te pongo el ajax completo.El parametro es telefono.
Código Javascript
:
Ver originalfunction nuevoAjax() {
* * var xmlhttp=false;
* * try {
* * * * xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
* * }
* * * * catch(e){
* * * * try{
* * * * * * xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
* * * * }catch(E) {
* * * * * * if (!xmlhttp && typeof XMLHttpRequest!='undefined')
* * * * * * * * xmlhttp=new XMLHttpRequest();
* * * * }
* * }
* * return xmlhttp;
}
*
function TelefonoExiste(TELEFONO, _callback) {
* * var ajax=nuevoAjax();
* * ajax.open("GET", "valida1.php?TELEFONO=" + encodeURIComponent(TELEFONO), true);
* * ajax.onreadystatechange=function() {
* * * * if ((ajax.readyState==4) && (ajax.status==200)){
* * * * * * //ejecutamos _callback como si fuese una función, pasandole el parámetro
* * * * * * _callback(ajax.responseText);
* * * * }
* * }
* * ajax.send(null);
}
*
function GuardaFormulario() {
* * //usemos mejor las CoLECCIONES, y variables, así ahorramos codigo y lo hace fácil de mantener
* * var _TELEFONO = document.forms['form1'].elements['TELEFONO'];
*
* * if (_TELEFONO.value.length == 0){
* * * * alert("Insertar el Teléfono");
* * * * _TELEFONO.focus();
* * * * return 0;
* * }
* *
* * //lamamos a AJAX:
* * TelefonoExiste(_TELEFONO.value, function(resp) {
* * * * //evaluamos la respuesta del server, tengase en cuenta que responseText devuelve un string, por lo tanto hay que parsear a entero si se evalúa un numero:
* * * * if (parseInt(resp) == 1) {
* * * * * * //aqui seria bueno un mensaje
* * * * * * alert('el teléfono ya existe');
* * * * * * _TELEFONO.focus();
* * * * } else {
* * * * * * //evaluar si se envía el form desde aquí, o se usa ajax para enviarlo.
* * * * * * alert("¡El Cliente se ha dado de alta!");
* * * * * * document.forms['form1'].submit();
* * * * }
* * });
* * //como ajax es asincrono, JS NO se detendrá en la llamada anterior, por lo tando hay que retornar false o 0 como lo tienes:
* * return 0;
}
Un saludo