Foros del Web » Programando para Internet » Javascript » Frameworks JS »

formulario + Ajax + ASP

Estas en el tema de formulario + Ajax + ASP en el foro de Frameworks JS en Foros del Web. hola a todos. Estoy intentado hacer un formulario para par de alta nuevos usuarios. cuando rellena el campo usuairo se activa el Aja y pinta ...
  #1 (permalink)  
Antiguo 15/01/2008, 05:36
Avatar de Ascariz  
Fecha de Ingreso: noviembre-2005
Mensajes: 403
Antigüedad: 18 años, 5 meses
Puntos: 0
Pregunta formulario + Ajax + ASP

hola a todos.

Estoy intentado hacer un formulario para par de alta nuevos usuarios.

cuando rellena el campo usuairo se activa el Aja y pinta si el usuario esta en la BBDD o no y si esta como puedo hacer para borrar el campo ???.

O como lo puedo hacer.

Muchas Gracias
__________________
Desarrollador & Diseñador Web
Diseño de paginas web en Madrid
  #2 (permalink)  
Antiguo 15/01/2008, 10:07
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 1 mes
Puntos: 62
Re: formulario + Ajax + ASP

Creo que he entendido que quieres borrar un campo mediante javascript:

1.- ponle una ID:
Código HTML:
<input type="text" id="nombre" name="nombre" /> 
2.- si lo quieres borrar con javascript:

Código:
var nombre=document.getElementById('nombre');
nombre.value='';
nombre.focus(); // para dar foco
Si es lo que yo he entendido, se deberia de mover al subforo javascript
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
  #3 (permalink)  
Antiguo 16/01/2008, 05:39
Avatar de Ascariz  
Fecha de Ingreso: noviembre-2005
Mensajes: 403
Antigüedad: 18 años, 5 meses
Puntos: 0
Re: formulario + Ajax + ASP

Gracias ZiTAL.

Pero eso no es, porque no va.

te pongo el codigo de todo.

HTML
Código:
<script language="JavaScript" src="validar_usuario.js" type="text/javascript"></script>
<input name="usuario" type="text" id="usuario" onblur="showCustomer(this.value)"  />
ASP

Código:
<span class="texto_rojo">Usuario No Valido</span>
<script>
var nombre = document.getElementById('usuario');
nombre.value='';
nombre.focus();
</script>

El html llama al ajax y el llama a la pagina ASP que retorna el ASP CODE.
y si el usuario existe lo que quiero poner en blanco es el campo usuario, que esta en el HTML.

-- Definitiva --
es un formulario que reguistra nuevos usuarios, y si el usuario existe le borre el campo para que lo meta de nuevo y si no no hace nada. para validar el forumario usu la libreria gen_validatorv2.js.
__________________
Desarrollador & Diseñador Web
Diseño de paginas web en Madrid
  #4 (permalink)  
Antiguo 16/01/2008, 06:45
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 1 mes
Puntos: 62
Re: formulario + Ajax + ASP

es que ese codigo lo tienes que meter en la funcion donde haces el ajax:

Código:
// ejemplo
  var ajax = new ajaxFunction();
  var usuario = document.getElementById('usuario');
  ajax.onreadystatechange=function()
    {
     if(ajax.readyState==4)
      {
       if(ajax.responseText=='no existe')
        {
          usuario.value='';
          usuario.focus();
        }
       else
        {
           // existe
        }
      }
    }
  ajax.open("GET","tupagina.asp",true); // aqui la pagina que devuelve el valor
  ajax.send(null);
y otra cosa, cuida tu codigo, el atributo language no existe en script, el uso correcto de javascript es:
Código:
<script type="text/javascript" src="urljs.js">
</script>
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
  #5 (permalink)  
Antiguo 16/01/2008, 09:25
Avatar de Ascariz  
Fecha de Ingreso: noviembre-2005
Mensajes: 403
Antigüedad: 18 años, 5 meses
Puntos: 0
Re: formulario + Ajax + ASP

Esta es mi lebreria de Ajax.

como lo tengo que poner que yo de esto no se mucho por no decir nada

Código:
var xmlHttp

function showCustomer(str,)
{ 
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  } 
var url="validar_usuario.asp";
url=url+"?q="+str;
url=url+"&sid="+Math.random();
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}

function stateChanged() 
{ 
if (xmlHttp.readyState==4)
	{
	document.getElementById("txtHint").innerHTML=xmlHttp.responseText;
	}
}

function GetXmlHttpObject()
{
var xmlHttp=null;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
return xmlHttp;
}
__________________
Desarrollador & Diseñador Web
Diseño de paginas web en Madrid
  #6 (permalink)  
Antiguo 16/01/2008, 09:38
Avatar de Ascariz  
Fecha de Ingreso: noviembre-2005
Mensajes: 403
Antigüedad: 18 años, 5 meses
Puntos: 0
Re: formulario + Ajax + ASP

Ya esta.

Código:
function stateChanged() 
{ 
if (xmlHttp.readyState==4)
	{
		if (xmlHttp.responseText == 'Usuario No Valido')
			{
			document.getElementById('usuario').value = ''
			document.getElementById("txtHint").innerHTML = '<span class=texto_rojo>' + xmlHttp.responseText + '</span>';
    		}
		else
			{
			document.getElementById("txtHint").innerHTML = '<span class=texto_verde>' + xmlHttp.responseText + '</span>';
			}
	}
}
__________________
Desarrollador & Diseñador Web
Diseño de paginas web en Madrid
  #7 (permalink)  
Antiguo 16/01/2008, 10:28
Avatar de Ascariz  
Fecha de Ingreso: noviembre-2005
Mensajes: 403
Antigüedad: 18 años, 5 meses
Puntos: 0
Re: formulario + Ajax + ASP

en el formulario le paso esto

<input name="usuario" type="text" class="campo_texto" id="usuario" size="25" maxlength="25" onblur="showCustomer(this.value,this.id)" />


y en el ajax

function showCustomer(str,campo)
{
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
{
alert ("Your browser does not support AJAX!");
return;
}
/*alert(str);*/
var url="validar_usuario.asp";
url=url+"?q="+str;
url=url+"&sid="+Math.random();
xmlHttp.onreadystatechange=stateChanged(campo);
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}

function stateChanged(campo)
{
if (xmlHttp.readyState==4)
{
if (xmlHttp.responseText == 'Usuario No Valido')
{
document.getElementById(campo).value = ''
document.getElementById("txtHint").innerHTML = '<span class=texto_rojo>' + xmlHttp.responseText + '</span>';
}
else
{
document.getElementById("txtHint").innerHTML = '<span class=texto_verde>' + xmlHttp.responseText + '</span>';
}
}
}


Por que no funciona ???
__________________
Desarrollador & Diseñador Web
Diseño de paginas web en Madrid
  #8 (permalink)  
Antiguo 16/01/2008, 11:02
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 1 mes
Puntos: 62
Re: formulario + Ajax + ASP

en el ASP tienes que hacer un echo 'Usuario No Valido'; vamos sacar esto por pantalla:
Código:
Usuario No Valido
lo que no se es como se hace eso en ASP, en PHP:
Código PHP:
echo 'Usuario No Valido'
para comparalo con el responseText en javascript

suerte
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
  #9 (permalink)  
Antiguo 16/01/2008, 11:11
Avatar de Ascariz  
Fecha de Ingreso: noviembre-2005
Mensajes: 403
Antigüedad: 18 años, 5 meses
Puntos: 0
Re: formulario + Ajax + ASP

eso si me funciona pero si le paso el nombre del campo no hace nada y da error, como lo soluciono ?
__________________
Desarrollador & Diseñador Web
Diseño de paginas web en Madrid
  #10 (permalink)  
Antiguo 16/01/2008, 12:08
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 1 mes
Puntos: 62
Re: formulario + Ajax + ASP

no entiendo, puedes explicarte mejor?
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
  #11 (permalink)  
Antiguo 17/01/2008, 04:22
Avatar de Ascariz  
Fecha de Ingreso: noviembre-2005
Mensajes: 403
Antigüedad: 18 años, 5 meses
Puntos: 0
Re: formulario + Ajax + ASP

si me esplico.

Lo que quiero hacer es pasar por parametros el valor y el nombre del campo y cunado me retorna las datos el fichero ASP borrar el campo que me a pasdo.

Ej si es el campo usuario que borre el usuario y si le paso el email que borre el email.


<input name="usuario" type="text" class="campo_texto" id="usuario" size="25" maxlength="25" onblur="showCustomer(this.value,this.id)" />

<input name="usuario" type="text" class="campo_texto" id="usuario" size="25" maxlength="25" onblur="showCustomer(this.value,this.id)" />


Pero el ajax que te puesto con las letras en rojo me da error ? porque puede ser ?
__________________
Desarrollador & Diseñador Web
Diseño de paginas web en Madrid
  #12 (permalink)  
Antiguo 17/01/2008, 05:54
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 1 mes
Puntos: 62
Re: formulario + Ajax + ASP

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.
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
  #13 (permalink)  
Antiguo 17/01/2008, 09:41
Avatar de Ascariz  
Fecha de Ingreso: noviembre-2005
Mensajes: 403
Antigüedad: 18 años, 5 meses
Puntos: 0
Re: formulario + Ajax + ASP

Buenas Y gracias de nuevo por responder

HTML
Código:
<script type="text/javascript" src="ajax.js"></script>

<input name="email" type="text"  id="email" onblur="verificar(this)"  />
 <input name="usuario" type="text"  id="usuario" onblur="verificar(this)"  />
en el fichero ajax.js he copiado tu codigo js

y lo que me retorna el ASP es No Valido y Valido

por que no me funciona ?
__________________
Desarrollador & Diseñador Web
Diseño de paginas web en Madrid
  #14 (permalink)  
Antiguo 17/01/2008, 09:53
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 1 mes
Puntos: 62
Re: formulario + Ajax + ASP

Instalate el add-on firebug de firefox, y debuagealo mirando la pestaña CONSOLA del firebug.

ahi te dara los fallos

https://addons.mozilla.org/es-ES/firefox/addon/1843

o vete metiendo alert's para ver que valor tiene en su momento.

suerte
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
  #15 (permalink)  
Antiguo 17/01/2008, 10:01
Avatar de Ascariz  
Fecha de Ingreso: noviembre-2005
Mensajes: 403
Antigüedad: 18 años, 5 meses
Puntos: 0
Re: formulario + Ajax + ASP

ajax.open("GET","validar_usuario.asp?campo="+esto. name+"&valor=+"esto.value,true);
__________________
Desarrollador & Diseñador Web
Diseño de paginas web en Madrid
  #16 (permalink)  
Antiguo 17/01/2008, 10:22
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 1 mes
Puntos: 62
Re: formulario + Ajax + ASP

Código:
//
ajax.open("GET","validar_usuario.asp?campo="+esto.name+"&valor="+esto.value,true);
//
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
  #17 (permalink)  
Antiguo 17/01/2008, 11:03
Avatar de Ascariz  
Fecha de Ingreso: noviembre-2005
Mensajes: 403
Antigüedad: 18 años, 5 meses
Puntos: 0
Re: formulario + Ajax + ASP

Gracias ya fuunciona y ademas le he metido la url para que sirva para mas campos.

desde el fichero de ajax como puedo pintar por pantalla ?

lo que ponia en el otro era esto, pero en este me da error

document.getElementById("txtHint").innerHTML = '<span class=texto_rojo>' + xmlHttp.responseText + '</span>';
__________________
Desarrollador & Diseñador Web
Diseño de paginas web en Madrid
  #18 (permalink)  
Antiguo 17/01/2008, 11:06
Avatar de Ascariz  
Fecha de Ingreso: noviembre-2005
Mensajes: 403
Antigüedad: 18 años, 5 meses
Puntos: 0
Re: formulario + Ajax + ASP

Ya esta ...

document.getElementById("txtHint").innerHTML = '<span class=texto_rojo>' + ajax.responseText + '</span>';

lo unico que siempre me dice que es Valido ?

por que puede ser ?
__________________
Desarrollador & Diseñador Web
Diseño de paginas web en Madrid
  #19 (permalink)  
Antiguo 17/01/2008, 11:07
Avatar de Ascariz  
Fecha de Ingreso: noviembre-2005
Mensajes: 403
Antigüedad: 18 años, 5 meses
Puntos: 0
Re: formulario + Ajax + ASP

Ya esta erra la pagina de ASP
__________________
Desarrollador & Diseñador Web
Diseño de paginas web en Madrid
  #20 (permalink)  
Antiguo 17/01/2008, 14:47
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 1 mes
Puntos: 62
Re: formulario + Ajax + ASP

entonces que, ya esta?
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:07.