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

no me muestra lo que escribi

Estas en el tema de no me muestra lo que escribi en el foro de Frameworks JS en Foros del Web. Hola amigos , el problema que tengo es que estoy tratando de escribir un texto y quiero que aparezca en un div, el tema es ...
  #1 (permalink)  
Antiguo 08/01/2011, 19:27
 
Fecha de Ingreso: enero-2010
Mensajes: 198
Antigüedad: 14 años, 11 meses
Puntos: 1
no me muestra lo que escribi

Hola amigos , el problema que tengo es que estoy tratando de escribir un texto y quiero que aparezca en un div, el tema es que al hacer el submit lo que me aparece es [object HTMLInputElement] sé que me estoy equivocando con el .value del input text

Dejo el codigo para que lo vean.

Saludos y gracias.
Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. function escribir1(str)
  3. {
  4. if (str=="")
  5.   {
  6.   var escribir = document.getElementById("texto1").value;
  7.   escribir.innerHTML="";
  8.   return;
  9.   }
  10. if (window.XMLHttpRequest)
  11.   {// code for IE7+, Firefox, Chrome, Opera, Safari
  12.   xmlhttp=new XMLHttpRequest();
  13.   }
  14. else
  15.   {// code for IE6, IE5
  16.   xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  17.   }
  18. xmlhttp.onreadystatechange=function()
  19.   {
  20.   if (xmlhttp.readyState==4 && xmlhttp.status==200)
  21.     {
  22.     escribir=xmlhttp.responseText;
  23.     }
  24.   }
  25.  
  26. xmlhttp.open("POST","post.php?id=1&&text=<?php echo $_POST['texto1'];?>"+str,true);
  27. xmlhttp.send();
  28. }
  29.  
  30. </script>

y el input


<input name="texto1" type="text" id="texto1" size="63" maxlength="90" />
<input name="submit1" type="submit" id="submit1" value="Enviar" onclick="escribir1(document.getElementById('texto1 '))"/>
  #2 (permalink)  
Antiguo 08/01/2011, 21:30
Avatar de alfcm  
Fecha de Ingreso: mayo-2009
Mensajes: 291
Antigüedad: 15 años, 6 meses
Puntos: 7
Respuesta: no me muestra lo que escribi

cambia estas lineas

xmlhttp.open("GET","post.php?id=1&text="+str,true) ;
xmlhttp.send(null);

y prueba con el control button y no submit

<input type='button' />

Saludos
  #3 (permalink)  
Antiguo 08/01/2011, 21:44
 
Fecha de Ingreso: enero-2010
Mensajes: 198
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: no me muestra lo que escribi

Hola, hice lo que me indicaste, pero no me funciona

no se que puede ser.

gracias
  #4 (permalink)  
Antiguo 08/01/2011, 21:58
Avatar de alfcm  
Fecha de Ingreso: mayo-2009
Mensajes: 291
Antigüedad: 15 años, 6 meses
Puntos: 7
Respuesta: no me muestra lo que escribi

que error te sale, y estas seguro que los datos llegan al servidor?
  #5 (permalink)  
Antiguo 08/01/2011, 22:05
 
Fecha de Ingreso: enero-2010
Mensajes: 198
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: no me muestra lo que escribi

si los datos llegan, el tema es que me vuelve a aparecer [object HTMLInputElement]

el form es asi
<form name="message" action="" method="post">
<input name="texto1" type="text" id="texto1" size="63" maxlength="90" />
<input name="submit1" type="button" id="submit1" value="Enviar" onclick="escribir1(document.getElementById('texto1 '))"/>
</form>
  #6 (permalink)  
Antiguo 08/01/2011, 22:29
Avatar de alfcm  
Fecha de Ingreso: mayo-2009
Mensajes: 291
Antigüedad: 15 años, 6 meses
Puntos: 7
Respuesta: no me muestra lo que escribi

en primer lugar veo que tienes un espacio

escribir1(document.getElementById('texto1 ')


Ahora para ver que te manda el servidor


if (xmlhttp.readyState==4 && xmlhttp.status==200)

{
// hacemos un alert para ver que te devuelve
alert(xmlhttp.responseText);

escribir=xmlhttp.responseText;

}

}

y por ultimo como esta el codigo de tu server, para verlo de una vez
  #7 (permalink)  
Antiguo 08/01/2011, 22:32
Avatar de alfcm  
Fecha de Ingreso: mayo-2009
Mensajes: 291
Antigüedad: 15 años, 6 meses
Puntos: 7
Respuesta: no me muestra lo que escribi

verdad ahora que me doy cuenta, tu mandas un control como parametro en escribir1(document.getElementById('texto1 ')

y dentro de tu funcion lo comparas como si fuese un string ???
ademas estaria demas esa comparacion porque ya dentro de tu funcion obtienes el valor mediante document.getElementById("texto1").value;

un poco que marea, pero no se si te diste cuenta
  #8 (permalink)  
Antiguo 08/01/2011, 22:50
 
Fecha de Ingreso: enero-2010
Mensajes: 198
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: no me muestra lo que escribi

Aca esta el codigo del post
Código PHP:
Ver original
  1. <?php
  2.  
  3.  
  4. include("connect.php");
  5. $id=$_GET['id'];
  6. $text = $_GET['text'];
  7.  
  8.  
  9.  
  10. if(isset($_SESSION['usuario'])){
  11. $text= $_GET['text'];
  12.  
  13.  
  14. mysql_query("   INSERT INTO escribirbd (id,text,dt)
  15.                         VALUES('".$_GET['id']."','".$_GET['text']."',NOW())")
  16.                        
  17.  
  18. or  die("Problemas en el select:".mysql_error());
  19. }
  20. ?>

Te agradezco la ayuda. y si es bastante confuso, no puedo resolverlo.
  #9 (permalink)  
Antiguo 08/01/2011, 23:04
Avatar de alfcm  
Fecha de Ingreso: mayo-2009
Mensajes: 291
Antigüedad: 15 años, 6 meses
Puntos: 7
Respuesta: no me muestra lo que escribi

No te muestra nada porque no le devuelves nada al cliente

tienes que hacer un echo

Código PHP:
Ver original
  1. mysql_query("   INSERT INTO escribirbd (id,text,dt)
  2.                        VALUES('".$_GET['id']."','".$_GET['text']."',NOW())")
  3. or  die("Problemas en el select:".mysql_error());
  4. }
  5.  
  6. echo 'SE GRABO OK'; // envias cualquier texto que desees
  #10 (permalink)  
Antiguo 08/01/2011, 23:14
Avatar de alfcm  
Fecha de Ingreso: mayo-2009
Mensajes: 291
Antigüedad: 15 años, 6 meses
Puntos: 7
Respuesta: no me muestra lo que escribi

quizas sugiera que hagas esto en tu javasript

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. function escribir1()
  3. {
  4.  
  5. str = document.getElementById("texto1").value;
  6. if (str=="")
  7.   {
  8.   var escribir = document.getElementById("tudivquemostrara");  
  9.   escribir.innerHTML="";
  10.   return;
  11.   }
  12. if (window.XMLHttpRequest)
  13.   {// code for IE7+, Firefox, Chrome, Opera, Safari
  14.   xmlhttp=new XMLHttpRequest();
  15.   }
  16. else
  17.   {// code for IE6, IE5
  18.   xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  19.   }
  20. xmlhttp.onreadystatechange=function()
  21.   {
  22.   if (xmlhttp.readyState==4 && xmlhttp.status==200)
  23.     {
  24.     escribir=xmlhttp.responseText;
  25.     }
  26.   }
  27.  
  28. xmlhttp.open("GET","post.php?id=1&text="+str,true);
  29. xmlhttp.send(null);
  30. }
  31.  
  32. </script>

y en tu evento onclick quitale el parametro

onclick="escribir1()"/>

Saludos
  #11 (permalink)  
Antiguo 09/01/2011, 09:14
 
Fecha de Ingreso: enero-2010
Mensajes: 198
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: no me muestra lo que escribi

Hola alfcm me funcionó lo que me dijiste.

Muchisimas gracias.

Lo unico no me funcionó para Chrome.

Pero despues veo como lo arreglo.

Saludos.

Etiquetas: ajax, muestra
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 17:20.