Foros del Web » Programando para Internet » Javascript »

Como volver al texto de login, cuando el registro es negativo

Estas en el tema de Como volver al texto de login, cuando el registro es negativo en el foro de Javascript en Foros del Web. Hola, vengo del subforo de Ajax donde me remiten a este. Lo que quisiera hacer y no veo manera es lo mismo que cuando te ...
  #1 (permalink)  
Antiguo 24/02/2009, 14:30
 
Fecha de Ingreso: febrero-2009
Mensajes: 16
Antigüedad: 15 años, 2 meses
Puntos: 0
Como volver al texto de login, cuando el registro es negativo

Hola, vengo del subforo de Ajax donde me remiten a este.
Lo que quisiera hacer y no veo manera es lo mismo que cuando te registras en este foro y en la casilla de texto del login, al hacer un onblur, comprueba, mediante ajax, si ese nombre está ocupado por otro usuario o no. Si ese nombre está utilizado te avisa y te envia automáticamente a la misma casilla de texto de login.
He conseguido hacerlo todo excepto esto último: siempre se va a la siguiente casilla y parece no hacer caso del evento onblur salvo para cargar la función ajax.
Os pongo el código:

<input type="text" name="login" onblur="comprobarLogin();"> <span id="resultado_login" ></span>

Bien, comprobarLogin() no hace otra cosa sino llamar a la función ajax...

Código:
function comprobarLogin(){
		divResultado = document.getElementById('resultado_login');
		nom=document.formulario_alta.login.value;
		ajax=objetoAjax();
		ajax.open("POST", "comprovalogin.php",true);
		ajax.onreadystatechange=function() {
			if (ajax.readyState==4) {
				divResultado.innerHTML = ajax.responseText
			}
		}
		ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	 	ajax.send("nombre="+nom)
	}
Donde carga la respuesta en resultado_login (es un simple span que está al lado de la casilla del formulario de logueo) a partir de la petición que hace a comprovalogin.php

Código PHP:
... //hago la consulta a la base de datos y compruebo si el nombre existe o no
if(mysql_num_rows($result)==0) echo "este nombre puedes utilizarlo";
else {
    echo 
"login ya utilizado!";
    echo 
"<script type='text/javascript'>document.getElementById('login').focus();</script>";

... 
Aquí es donde intento que, en caso de estar ocupado el nombre de login, vuelva el foco al control de texto de login mediante: echo "<script type='text/javascript'>document.getElementById('login').focus ();</script>";

Pués eso, que no hay forma. Discupad por el tocho y un saludo
  #2 (permalink)  
Antiguo 24/02/2009, 16:35
Avatar de programeitor  
Fecha de Ingreso: febrero-2005
Mensajes: 994
Antigüedad: 19 años, 2 meses
Puntos: 9
Respuesta: Como volver al texto de login, cuando el registro es negativo

Lo buscas por ID:

Cita:
document.getElementById('login').focus

pero no tiene asignado ningun ID

Cita:
<input type="text" name="login" onblur="comprobarLogin();">
puedes darle el id=login, o acceder mediante document.formulario_alta.login.focus()
  #3 (permalink)  
Antiguo 24/02/2009, 17:45
 
Fecha de Ingreso: febrero-2009
Mensajes: 16
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Como volver al texto de login, cuando el registro es negativo

Gracias, también lo probé así pero no funciona. Según en el foro de ajax parece ser que no es trivial capturar código javascript que viene de ajax.
  #4 (permalink)  
Antiguo 24/02/2009, 19:21
Avatar de programeitor  
Fecha de Ingreso: febrero-2005
Mensajes: 994
Antigüedad: 19 años, 2 meses
Puntos: 9
Respuesta: Como volver al texto de login, cuando el registro es negativo

¿has probado p.e. con un alert que el codigo llega correctamente?

Código:
 
alert(ajax.responseText)
en javascript es practica obligada ,al hacer document.write, partir la etiqueta script de cierre

Código:
"<"+"/script>"
si esto no funciona, a veces los scripts no se ejecutan cuando son transferidos dinamicamente, y se puede solucionar; dandoles ID y "recordandoles" lo que contienen

Código HTML:
<script id="scr"> 
una vez cargado:


Código:
 
document.getElementById("scr").text=document.getElementById("scr").text
a ver si lo puedes solucionar, Saludos.
  #5 (permalink)  
Antiguo 05/03/2009, 13:02
 
Fecha de Ingreso: febrero-2009
Mensajes: 16
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Como volver al texto de login, cuando el registro es negativo

Me olvidé, lo solucioné con ajax (lo siento, no puedo poner el enlace por que soy nuevo en el foro). De todas formas, he aprendido cosas de este tema que me van a ir muy bien. Gracias programeitor.

Un saludo.
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 08:52.