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

reponseText devuelve datos aparte...

Estas en el tema de reponseText devuelve datos aparte... en el foro de Frameworks JS en Foros del Web. ¡Hola! Estoy usando reponseText a una página que comprueba si existe un usuario en una base de datos e imprime "no" u "ok".... Y esto ...
  #1 (permalink)  
Antiguo 22/03/2010, 10:14
 
Fecha de Ingreso: enero-2010
Mensajes: 214
Antigüedad: 14 años, 3 meses
Puntos: 4
reponseText devuelve datos aparte...

¡Hola!

Estoy usando reponseText a una página que comprueba si existe un usuario en una base de datos e imprime "no" u "ok".... Y esto es lo que debería de recoger reponseText... Sin embargo, hago

Código:
document.write(http[act].responseText);
y al ver el código de fuente me aparece...

Cita:
<html><head></head><body>no
<input value="falsefalse" id="_ilx_alertShown_" type="hidden"><div id="_ilx_updateIcon_"></div></body></html>
¿De dónde sale ese resto?...

Un saludo!
  #2 (permalink)  
Antiguo 22/03/2010, 11:29
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: reponseText devuelve datos aparte...

Hola:

Nunca debes usar document.write con una página ya cargada... es preferible un alert, o innerHTML.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 22/03/2010, 12:01
 
Fecha de Ingreso: enero-2010
Mensajes: 214
Antigüedad: 14 años, 3 meses
Puntos: 4
Respuesta: reponseText devuelve datos aparte...

El document.write era para comprobar el contenido de reponseText, lo que verdaderamente busco es:

Código Javascript:
Ver original
  1. if(http[act].responseText=="no"){
  2. var ErrorDiv = document.getElementById("ErrorDiv");
  3. ErrorDiv.innerHTML = "No existe este user";
  4.         }else{
  5. document.UserSearch.submit();      
  6.         }

Es decir, que se mande el formlario solo si existe el usuario... El paso anterior de control funciona correctamente, ya que si hago un alert antes del if... me muestra no/ok, correctamente...

Pero aunque reponseText contenga "no", siempre se envía el formulario. Creo que la sentencia if está mal, pero no sé cómo hacerlo...

¿Cómo hago ese control?
  #4 (permalink)  
Antiguo 22/03/2010, 16:24
 
Fecha de Ingreso: enero-2010
Mensajes: 214
Antigüedad: 14 años, 3 meses
Puntos: 4
Respuesta: reponseText devuelve datos aparte...

El código completo es este...

Código Javascript:
Ver original
  1. <script language = "javascript">
  2. function createRequestObject(){
  3.       var peticion;
  4.       var browser = navigator.appName;
  5.             if(browser == "Microsoft Internet Explorer"){
  6.                   peticion = new ActiveXObject("Microsoft.XMLHTTP");
  7.             }else{
  8.                   peticion = new XMLHttpRequest();
  9. }
  10. return peticion;
  11. }
  12. var http = new Array();
  13. function ObtDatos(url){
  14.       var act = new Date();
  15.       http[act] = createRequestObject();
  16.       http[act].open('get', url);
  17.       http[act].onreadystatechange = function() {
  18.       if (http[act].readyState == 4) {
  19.             if (http[act].status == 200 || http[act].status == 304) {
  20.         var texto
  21.         texto = http[act].responseText
  22.                     var ListaDesplegable = document.getElementById("ListaDesplegable");
  23.                     ListaDesplegable.innerHTML = texto;                
  24. }
  25. }
  26. }
  27. http[act].send(null);
  28. }
  29. function compUsuario(Tecla) {
  30.      Tecla = (Tecla) ? Tecla: window.event;
  31.      input = (Tecla.target) ? Tecla.target :
  32.      Tecla.srcElement;
  33.      if (Tecla.type == "keyup") {
  34.           if (input.value) {
  35.                ObtDatos("./select_users.php?q=" + input.value);
  36.           }
  37.      }
  38. }
  39.  
  40. var http = new Array();
  41. function validarUser(url){
  42.       var act = new Date();
  43.       http[act] = createRequestObject();
  44.       http[act].open('get', url);
  45.       http[act].onreadystatechange = function() {
  46.       if (http[act].readyState == 4) {
  47.             if (http[act].status == 200 || http[act].status == 304) {
  48.         var texto
  49.         texto = http[act].responseText;
  50.         document.write(http[act].responseText);
  51.         if(http[act].responseText=="no"){
  52. var ErrorDiv = document.getElementById("ErrorDiv");
  53. ErrorDiv.innerHTML = "No existe este user";
  54.         }else{
  55. var ErrorDiv = document.getElementById("ErrorDiv");
  56. ErrorDiv.innerHTML = "Ok";
  57. document.UserSearch.submit();      
  58.         }              
  59. }
  60. }
  61. }
  62. http[act].send(null);
  63. }
  64.  
  65. function marcarusuario(usuario){
  66. document.UserSearch.UserSearchText.value=usuario;
  67. var ListaDesplegable = document.getElementById("ListaDesplegable");
  68. ListaDesplegable.innerHTML = "";
  69. }
  70. </script>
  #5 (permalink)  
Antiguo 24/03/2010, 08:34
 
Fecha de Ingreso: enero-2010
Mensajes: 214
Antigüedad: 14 años, 3 meses
Puntos: 4
Respuesta: reponseText devuelve datos aparte...

¿Nadie sabe cómo puedo arreglarlo?

Etiquetas: ajax, aportes
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 18:10.