Foros del Web » Programando para Internet » Javascript »

Cargar con Ajax dentro de un cuadro de Texto

Estas en el tema de Cargar con Ajax dentro de un cuadro de Texto en el foro de Javascript en Foros del Web. Estoy completamente seguro que debe ser algo sumamente sencillo pero no doy con la solución por ningún lado. resulta que si trabajo con este código ...
  #1 (permalink)  
Antiguo 26/03/2012, 15:33
 
Fecha de Ingreso: junio-2010
Ubicación: Venezuela, Zulia
Mensajes: 686
Antigüedad: 14 años
Puntos: 55
Cargar con Ajax dentro de un cuadro de Texto

Estoy completamente seguro que debe ser algo sumamente sencillo pero no doy con la solución por ningún lado.

resulta que si trabajo con este código me funciona todo a la perfección

Código HTML:
Ver original
  1. <div id="nombre1">
  2. <input name="nombre" disabled="disabled" onkeyup="this.value=this.value.toUpperCase();" type="text" id="nombre" size="50" maxlength="50" />
  3. </div>

pero si quiero trabajar sin el div, solo con el cuadro de texto no me muestra nada en el mismo y reviso con Firebug y si me envía la respuesta el AJAX.


Código HTML:
Ver original
  1. <input name="nombre" disabled="disabled" onkeyup="this.value=this.value.toUpperCase();" type="text" id="nombre" size="50" maxlength="50" />

cabe destacar que si puedo trabajar bien con los combos sin necesidad de usar Div
__________________
<?php echo "No te metas a lo hondo del Mar si no sabes nadar, primero aprende a nadar" ?>
...Error en linea: 1 o.O
  #2 (permalink)  
Antiguo 26/03/2012, 16:26
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años
Puntos: 1567
Respuesta: Cargar con Ajax dentro de un cuadro de Texto

No entiendo el problema

esto
Código HTML:
Ver original
  1. <div id="nombre1">
  2. <input name="nombre" onkeyup="this.value=this.value.toUpperCase();" type="text" id="nombre" size="50" maxlength="50" />
  3. </div>
  4. <input name="nombre" onkeyup="this.value=this.value.toUpperCase();" type="text" id="nombre" size="50" maxlength="50" />

Funciona igual en todos los navegadores y en sus dos fornas, con y sin el div, por supuesto. tenés que remover el atributo disabled="disabled", por que si no, no te va a funcionar ninguno de los dos.
Hacés una referencia a Ajax, pero no veo la relación


Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #3 (permalink)  
Antiguo 27/03/2012, 07:28
 
Fecha de Ingreso: junio-2010
Ubicación: Venezuela, Zulia
Mensajes: 686
Antigüedad: 14 años
Puntos: 55
Respuesta: Cargar con Ajax dentro de un cuadro de Texto

ok fijate yo pensaba lo mismo hasta que veo que no me funciona, vamos por parte

- primero la parte de disabled comienza desactivada pero antes de llegar a ese campo con un combo yo la activo.

-igual para probar la desactive desde un principio y tampoco funciono

- esta es la pagina donde estoy haciendo esto http://unt.sytes.net/organizacion/movilizadores.php donde dice cedula puedes colocar 10210210 y le das al boton buscar y alli es donde deberia mostrar el resultado en el cuadro nombre
__________________
<?php echo "No te metas a lo hondo del Mar si no sabes nadar, primero aprende a nadar" ?>
...Error en linea: 1 o.O

Última edición por johhan16; 27/03/2012 a las 07:43
  #4 (permalink)  
Antiguo 27/03/2012, 12:00
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años
Puntos: 1567
Respuesta: Cargar con Ajax dentro de un cuadro de Texto

Cita:
Iniciado por johhan16 Ver Mensaje
ok fijate yo pensaba lo mismo hasta que veo que no me funciona, vamos por parte

- primero la parte de disabled comienza desactivada pero antes de llegar a ese campo con un combo yo la activo.

-igual para probar la desactive desde un principio y tampoco funciono

- esta es la pagina donde estoy haciendo esto http://unt.sytes.net/organizacion/movilizadores.php donde dice cedula puedes colocar 10210210 y le das al boton buscar y alli es donde deberia mostrar el resultado en el cuadro nombre
@johhan16
Hay una gran confusión en todo lo que planteás....
NO tiene ninguna relación el contenido del primer post , que es, pasar a mayúsculas las letras a medida que se las ingresa en un campo de texto, cosa que en tu ejemplo, funciona perfectamente en el campo "nombre", con lo que estás planteando ahora.

__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #5 (permalink)  
Antiguo 27/03/2012, 13:06
 
Fecha de Ingreso: junio-2010
Ubicación: Venezuela, Zulia
Mensajes: 686
Antigüedad: 14 años
Puntos: 55
Respuesta: Cargar con Ajax dentro de un cuadro de Texto

Cita:
Iniciado por emprear Ver Mensaje
@johhan16
Hay una gran confusión en todo lo que planteás....
NO tiene ninguna relación el contenido del primer post , que es, pasar a mayúsculas las letras a medida que se las ingresa en un campo de texto, cosa que en tu ejemplo, funciona perfectamente en el campo "nombre", con lo que estás planteando ahora.

yo en ningún momento dije que es pasar a mayúsculas las letras (eso lo hace perfectamente bien)

el titulo del POST dice claramente (o por lo menos así lo veo yo) Cargar con Ajax dentro de un cuadro de Texto

bueno voy a intentar explicar lo mejor posible tengo lo siguiente

index.php

Código PHP:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>Prueba de Funcionamiento AJAX</title>
  6. <!-- AQUI SE COLOCA LA RUTA DONDE SE ENCUENTRA EL ARCHIVO
  7. AJAX.JS EN ESTE CASO ESTA EN LA MISMA CARPETA QUE LOS OTROS ARCHIVOS -->
  8. <script type="text/javascript" src="ajax.js"></script>
  9. </head>
  10.  
  11. <body>
  12. <form id="form1" name="form1" method="post" action="">
  13. <label>
  14. Escribe tu nombre:
  15. <input type="text" name="nombre" id="nombre" />
  16. </label>
  17. <label>
  18. <input type="button" name="saludar" onclick="mostrarNombre(this.form.nombre.value)" id="saludar" value="Enviar" />
  19. </label>
  20. <!-- AQUI SE HACE EL DIV DONDE DARA RESPUESTA EL AJAX -->
  21. </form>
  22.  
  23. <input type="text" id="respuesta_ajax" name="nombre" id="nombre" />
  24.  
  25. </body>
  26. </html>


ajax.js

Código Javascript:
Ver original
  1. function objetoAjax(){
  2.     var xmlhttp=false;
  3.     try {
  4.         xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  5.     } catch (e) {
  6.         try {
  7.            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  8.         } catch (E) {
  9.             xmlhttp = false;
  10.         }
  11.     }
  12.  
  13.     if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
  14.         xmlhttp = new XMLHttpRequest();
  15.     }
  16.     return xmlhttp;
  17. }
  18.  
  19.  
  20. function mostrarNombre(nombre){
  21.  
  22.     divResultado = document.getElementById('respuesta_ajax');
  23.    
  24.    
  25.         //instanciamos el objetoAjax
  26.         ajax=objetoAjax();
  27.         //uso del medotod GET
  28.         ajax.open("GET", "prueba_ajax.php?nombre="+nombre);
  29.         ajax.onreadystatechange=function() {
  30.            
  31.             if (ajax.readyState==4) {
  32.                 //mostrar resultados en esta capa
  33.                 divResultado.innerHTML = ajax.responseText
  34.             }
  35.         }
  36.         //como hacemos uso del metodo GET
  37.         //colocamos null
  38.         ajax.send(null)
  39. }


prueba_ajax.php

Código PHP:
Ver original
  1. <?php
  2. $nombre = strtoupper($_GET['nombre']);
  3. echo "Hola ".$nombre." espero que con esto aprendas";
  4. ?>


ok si coloco esto como aparece arriba no me muestra resultados en el cuadro de texto, pero si reviso con firebug si me envia el resultado.

lo que quiero es saber si es posible mostrar el resultado en el cuadro de texto con solo colocar el id del mismo y no tener que encerrarlo dentro de un DIV
__________________
<?php echo "No te metas a lo hondo del Mar si no sabes nadar, primero aprende a nadar" ?>
...Error en linea: 1 o.O
  #6 (permalink)  
Antiguo 27/03/2012, 13:30
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años
Puntos: 1567
Respuesta: Cargar con Ajax dentro de un cuadro de Texto

Cita:
yo en ningún momento dije que es pasar a mayúsculas las letras (eso lo hace perfectamente bien)

el titulo del POST dice claramente (o por lo menos así lo veo yo) Cargar con Ajax dentro de un cuadro de Texto
Si el titulo de tu post dice eso y tu código dice esto:


Cita:
Iniciado por johhan16 Ver Mensaje
Estoy completamente seguro que debe ser algo sumamente sencillo pero no doy con la solución por ningún lado.

resulta que si trabajo con este código me funciona todo a la perfección

Código HTML:
Ver original
  1. <div id="nombre1">
  2. <input name="nombre" disabled="disabled" onkeyup="this.value=this.value.toUpperCase();" type="text" id="nombre" size="50" maxlength="50" />
  3. </div>

pero si quiero trabajar sin el div, solo con el cuadro de texto no me muestra nada en el mismo y reviso con Firebug y si me envía la respuesta el AJAX.


Código HTML:
Ver original
  1. <input name="nombre" disabled="disabled" onkeyup="this.value=this.value.toUpperCase();" type="text" id="nombre" size="50" maxlength="50" />

cabe destacar que si puedo trabajar bien con los combos sin necesidad de usar Div
y señalas que eso no te funciona

y luego mostrás este ejemplo
http://unt.sytes.net/organizacion/movilizadores.php
Yo ha eso lo llamo una "gran confusión"


__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #7 (permalink)  
Antiguo 27/03/2012, 17:17
 
Fecha de Ingreso: junio-2010
Ubicación: Venezuela, Zulia
Mensajes: 686
Antigüedad: 14 años
Puntos: 55
Respuesta: Cargar con Ajax dentro de un cuadro de Texto

Yo no veo por ninguna parte "la gran confusión"

-si fuera como tu dices la parte de la Mayúscula no tiene nada que ver AJAX es simplemente Javascript, asi que no tiene nada ver el titulo que coloque

-por otro lado cualquiera que sepa un poquito de Javascript sabe que este código funciona perfectamente así onkeyup="this.value=this.value.toUpperCase();" dentro de un cuadro de texto así que no hay problema alguno alli


en esta parte

"pero si quiero trabajar sin el div, solo con el cuadro de texto no me muestra nada en el mismo y reviso con Firebug y si me envía la respuesta el AJAX."

especifico que estoy hablando de la parte AJAX que con Firebug veo que recibe la respuesta, mas no la coloca en el cuadro de texto como tal
__________________
<?php echo "No te metas a lo hondo del Mar si no sabes nadar, primero aprende a nadar" ?>
...Error en linea: 1 o.O
  #8 (permalink)  
Antiguo 27/03/2012, 18:04
Avatar de soporte88  
Fecha de Ingreso: mayo-2008
Mensajes: 5
Antigüedad: 16 años
Puntos: 0
Respuesta: Cargar con Ajax dentro de un cuadro de Texto

COMPA tiene una gran confusión!

Ya le contestaron arriba...

Además, revise su función js mostrarNombre, vea que ésta línea está errónea divResultado.innerHTML = ajax.responseText.

En ésta parte debería hacer la asignación a la propiedad value del input con la respuesta de tu petición ajax.
  #9 (permalink)  
Antiguo 27/03/2012, 18:16
 
Fecha de Ingreso: junio-2010
Ubicación: Venezuela, Zulia
Mensajes: 686
Antigüedad: 14 años
Puntos: 55
Respuesta: Cargar con Ajax dentro de un cuadro de Texto

Cita:
Iniciado por soporte88 Ver Mensaje
COMPA tiene una gran confusión!

Ya le contestaron arriba...

Además, revise su función js mostrarNombre, vea que ésta línea está errónea divResultado.innerHTML = ajax.responseText.

En ésta parte debería hacer la asignación a la propiedad value del input con la respuesta de tu petición ajax.

si vez el codigo completo te fijas q se nombra antes la variable



function mostrarNombre(nombre){

divResultado = document.getElementById('respuesta_ajax');


//instanciamos el objetoAjax
ajax=objetoAjax();
//uso del medotod GET
ajax.open("GET", "prueba_ajax.php?nombre="+nombre);
ajax.onreadystatechange=function() {

if (ajax.readyState==4) {
//mostrar resultados en esta capa
divResultado.innerHTML = ajax.responseText
}
}
//como hacemos uso del metodo GET
//colocamos null
ajax.send(null)
}
__________________
<?php echo "No te metas a lo hondo del Mar si no sabes nadar, primero aprende a nadar" ?>
...Error en linea: 1 o.O
  #10 (permalink)  
Antiguo 27/03/2012, 19:58
 
Fecha de Ingreso: junio-2010
Ubicación: Venezuela, Zulia
Mensajes: 686
Antigüedad: 14 años
Puntos: 55
Respuesta: Cargar con Ajax dentro de un cuadro de Texto

Bueno ya solucione, aunque todavia no entiendo bien que sera porque no lo veo claro, pero me fui copiando de otros codigos hasta que di

yo lo tenia asi

Código Javascript:
Ver original
  1. function mostrarNombre(nombre){
  2.  
  3. divResultado = document.getElementById('respuesta_ajax');
  4.  
  5.  
  6. //instanciamos el objetoAjax
  7. ajax=objetoAjax();
  8. //uso del medotod GET
  9. ajax.open("GET", "prueba_ajax.php?nombre="+nombre);
  10. ajax.onreadystatechange=function() {
  11.  
  12. if (ajax.readyState==4) {
  13. //mostrar resultados en esta capa
  14. divResultado.innerHTML = ajax.responseText
  15. }
  16. }
  17. //como hacemos uso del metodo GET
  18. //colocamos null
  19. ajax.send(null)
  20. }


y lo deje asi para que me funcionara

Código Javascript:
Ver original
  1. function mostrarNombre(nombre){
  2.  
  3.     var muestra = document.getElementById('respuesta_ajax');
  4.  
  5.         ajax=objetoAjax();
  6.         ajax.open("GET", "prueba_ajax.php?nombre="+nombre);
  7.         ajax.onreadystatechange=function() {
  8.            
  9.             if (ajax.readyState==1 || ajax.readyState==2 || ajax.readyState==3) {
  10.                 muestra.value = "BUSCANDO INFORMACION";
  11.  
  12.             }
  13.             if (ajax.readyState==4) {
  14.                 var resul=ajax.responseText
  15.                 muestra.value = resul
  16.  
  17.             }
  18.         }
  19.  
  20.         ajax.send(null);
  21. }

lo unico que cambia es que coloque otra variable a document.getElementById('respuesta_ajax') y una a ajax.responseText y el resultado en vez de usar .innerHTML uso .value (nose porque creo que en este ultimo esta el problema real)

saludos a todos

Caso Cerrado
__________________
<?php echo "No te metas a lo hondo del Mar si no sabes nadar, primero aprende a nadar" ?>
...Error en linea: 1 o.O

Etiquetas: ajax
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 13:15.