Foros del Web » Programando para Internet » Javascript »

Enviar Div con Ajax

Estas en el tema de Enviar Div con Ajax en el foro de Javascript en Foros del Web. Tengo un div como este: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código HTML: Ver original < div id = "value" > 125 < / div > Me pregunto como ...
  #1 (permalink)  
Antiguo 23/06/2012, 10:39
 
Fecha de Ingreso: junio-2010
Mensajes: 106
Antigüedad: 13 años, 10 meses
Puntos: 1
Mensaje Enviar Div con Ajax

Tengo un div como este:
Código HTML:
Ver original
  1. <div id="value">125</div>

Me pregunto como hago para enviar por Ajax el 125, lo he intentado con .innerHTML y no me funciona.

Gracias! :)

Última edición por Zipus; 23/06/2012 a las 10:40 Razón: estetica
  #2 (permalink)  
Antiguo 23/06/2012, 12:19
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Enviar Div con Ajax

¿Seguro?, entonces muestra el código que tienes para ver en que te falla
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 24/06/2012, 03:23
Avatar de ipraetoriux  
Fecha de Ingreso: abril-2010
Ubicación: ipraetoriux.com
Mensajes: 1.125
Antigüedad: 14 años
Puntos: 155
Respuesta: Enviar Div con Ajax

...puedes hacerlo de 2 formas...

JAVASCRIPT:

document.getElementById('value').innerHtml;

jQUERY

$('#value').text();

tambien puedes usar PROTOTYPE
  #4 (permalink)  
Antiguo 24/06/2012, 11:34
 
Fecha de Ingreso: junio-2010
Mensajes: 106
Antigüedad: 13 años, 10 meses
Puntos: 1
Respuesta: Enviar Div con Ajax

Aquí hos dejo el codigo fuente, pero quizas no sea ese el error, disculpenme!

Código HTML:
Ver original
  1. <!DOCTYPE html>
  2.   <title>Radar Display</title>
  3.   <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
  4.  <script src="inc/key.js" type="text/javascript"></script>
  5. function objetoAjax(){
  6.   var xmlhttp=false;
  7.   try {
  8.     xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  9.   } catch (e) {
  10.     try {
  11.        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  12.     } catch (E) {
  13.       xmlhttp = false;
  14.       }
  15.   }
  16.  
  17.   if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
  18.    xmlhttp = new XMLHttpRequest();
  19.   }
  20.   return xmlhttp;
  21. }
  22.  
  23.  shortcut.add("left",function() {
  24.   var minus = document.getElementById("value").innerHTML;
  25.   var sum =  parseInt(minus) -5;
  26.   document.getElementById("value").innerHTML = sum;
  27.    ajax=objetoAjax();
  28.    ajax.open("POST", "update.php",true);
  29.    divResultado = document.getElementById('response');
  30.    divResultado.innerHTML = '<div id="response"></div>';
  31.    ajax.onreadystatechange=function()
  32.     {
  33.         if (ajax.readyState==4)
  34.         {
  35.             divResultado.innerHTML = ajax.responseText
  36.         }
  37.     }
  38.     ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  39.     ajax.send("sumar="+sum)    
  40.   });
  41.  shortcut.add("right",function() {
  42.    var more = document.getElementById("value").innerHTML;
  43.   var sum =  parseInt(more) +5;
  44.   document.getElementById("value").innerHTML = sum;
  45.    ajax=objetoAjax();
  46.    ajax.open("POST", "update.php",true);
  47.    divResultado = document.getElementById('response');
  48.    divResultado.innerHTML = '<div id="response"></div>';
  49.    ajax.onreadystatechange=function()
  50.     {
  51.         if (ajax.readyState==4)
  52.         {
  53.             divResultado.innerHTML = ajax.responseText
  54.         }
  55.     }
  56.     ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  57.     ajax.send("sumar="+sum)    
  58.   });
  59. </head>
  60. <body>  
  61.     <div id="value">0</div>
  62.     <div id="response"></div>
  63. </body>
  64. </html>
  #5 (permalink)  
Antiguo 24/06/2012, 13:18
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Enviar Div con Ajax

Puede deberse a que tratas de obtener el innerHTML cuando el DOM no esta cargado, por lo cual necesitas llamar a la función shortcut.add desde el evento onload de la pagina, o usar alguna función domready de cualquier framework como jQuery.

Otro punto importante es que en el onreadystatechange sólo evalúas readyState==4 cuando también debes evaluar status==200, consulta un manual de AJAX
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #6 (permalink)  
Antiguo 24/06/2012, 13:22
 
Fecha de Ingreso: junio-2010
Mensajes: 106
Antigüedad: 13 años, 10 meses
Puntos: 1
Respuesta: Enviar Div con Ajax

El valor se actualiza cuando pulso la tecla dirección izquierda y derecha, por lo que la función shortcut.add funciona perfectamente.

De todas formas estoy usando el js de aqui, no es un script propio:
http://www.openjs.com/scripts/events/keyboard_shortcuts/
  #7 (permalink)  
Antiguo 25/06/2012, 07:39
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Enviar Div con Ajax

el hecho es que no le funciona, y tampoco aplica las recomendaciones que se le indican, de esa forma el feedback falla y por lo tanto no tengo en que más ayudarle.

el hecho de que sea un script publicado en línea no quiere decir que no contenga errores, y el usar ajax sin comprobar el status==200 (Protocolo HTTP) es el error de principiante más básico que se comete al aprender AJAX, el que no oye consejo...no llega a viejo.
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...

Etiquetas: ajax, innerhtml
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 23:07.