Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: lluvplay en 25 Junio 2012, 14:13 pm



Título: Recargar colunna de una Tabla sin refrescar la pagina web.
Publicado por: lluvplay en 25 Junio 2012, 14:13 pm
Hola buenos dias respetados expertos !!
Hoy en dia me he levanto con otro problema esta ves en el desarrollo web.
Lo que yo quiero es pasar el valor calculado en mi funcion javascript a mi index.hmtl sin necesidad de recagar la pagina !!
En concreto muchos le dicen AJAX !! nose si mi concepto esta errado pero en realidad ajax trabaja asiendo peticiones del servidor yo simplente quiero hacer peticiones del cliente !!! en concreto. mi codigo es el siguiente.

Código
  1. <title>Mercado Virtual</title>
  2. <script type="text/javascript" src="codigo/programa.js"></script>
  3. </head>
  4. <div id="todo">
  5. <header><h1>Mercado Virtual</h1></header>
  6. <section>
  7. <article>
  8. <table border="2">
  9. <tr>
  10.  
  11. <td>
  12. <img src="frutas/naranja.jpg" onclick="calculando('naranja')"/>
  13. </td>
  14. <td>
  15. <img src="frutas/mango.jpg" onclick="calculando('mango')"/>
  16. </td>
  17. <td>
  18. <img src="frutas/papaya.jpg" onclick="calculando('papaya')"/>
  19. </td>
  20. <td>
  21. <img src="frutas/guineo.jpg" onclick="calculando('guineo')"/>
  22. </td>
  23. <td>
  24. <img src="frutas/limon.jpg" onclick="calculando('limon')"/>
  25. </td>
  26. </tr>
  27. <tr>
  28. <td>
  29. <img src="frutas/yuca.jpg" onclick="calculando('yuca')"/>
  30. </td>
  31. <td>
  32. <img src="frutas/ñame.jpg" onclick="calculando('name')"/>
  33. </td>
  34. <td>
  35. <img src="frutas/lechuga.jpg" onclick="calculando('lechuga')"/>
  36. </td>
  37. <td>
  38. <img src="frutas/zanahoria.jpg" onclick="calculando('zanahoria')"/>
  39. </td>
  40. <td>
  41. <img src="frutas/otoe.jpg" onclick="calculando('otoe')"/>
  42. </td>
  43. </tr>
  44. <table id="segunda" border="2">
  45. <tr>
  46. <td>
  47. Producto
  48. </td>
  49. <td>
  50. Precio
  51. </td>
  52. <td>
  53. Cantidad
  54. </td>
  55. </tr>
  56. <tr>
  57. <td>
  58. Naranja
  59. </td>
  60. <td>
  61. 0.35
  62. </td>
  63. <td>
  64.  
  65. </td>
  66. </tr>
  67. <tr>
  68. <td>
  69. Mango
  70. </td>
  71. <td>
  72. 0.55
  73. </td>
  74. <td>
  75.  
  76. </td>
  77. </tr>
  78. <tr>
  79. <td>
  80. Papaya
  81. </td>
  82. <td>
  83. 0.55
  84. </td>
  85. <td>
  86.  
  87. </td>
  88. </tr>
  89. <tr>
  90. <td>
  91. Guineo
  92. </td>
  93. <td>
  94. 0.55
  95. </td>
  96. <td>
  97.  
  98. </td>
  99. </tr>
  100. <tr>
  101. <td>
  102. Limon
  103. </td>
  104. <td>
  105. 0.55
  106. </td>
  107. <td>
  108.  
  109. </td>
  110. </tr>
  111. <tr>
  112. <td>
  113. Yuca
  114. </td>
  115. <td>
  116. 0.55
  117. </td>
  118. <td>
  119.  
  120. </td>
  121. </tr>
  122. <tr>
  123. <td>
  124. Ñame
  125. </td>
  126. <td>
  127. 0.55
  128. </td>
  129. <td>
  130.  
  131. </td>
  132. </tr>
  133. <tr>
  134. <td>
  135. Lechuga
  136. </td>
  137. <td>
  138. 0.55
  139. </td>
  140. <td>
  141.  
  142. </td>
  143. </tr>
  144. <tr>
  145. <td>
  146. Zanahoria
  147. </td>
  148. <td>
  149. 0.55
  150. </td>
  151. <td>
  152. <label id="zona"></label>
  153. </td>
  154. </tr>
  155. <tr>
  156. <td>
  157. otoe
  158. </td>
  159. <td>
  160. 0.55
  161. </td>
  162. <td>
  163.  
  164. </td>
  165. </tr>
  166. </article>
  167. </section>
  168. </div>
  169. </body>
  170. </html>

Código
  1. // productos de la primera colunna
  2. var naranja=0;
  3. var mango=0;
  4. var limon=0;
  5. var guineo=0;
  6. var papaya=0;
  7. // productos de la segunda colunna
  8. var yuca=0;
  9. var zanahoria=0;
  10. var name=0;
  11. var lechuga=0;
  12. var otoe=0;
  13. function calculando(n)
  14. {
  15.  
  16.  
  17. // comensamos a contar cuantas veces selecciona el producto el cliente.
  18. if(n=='naranja')
  19. naranja+=1;
  20.  
  21. if(n=='mango')
  22. mango+=1;
  23.  
  24. if(n=='limon')
  25. limon+=1;
  26.  
  27. if(n=='papaya')
  28. papaya+=1;
  29.  
  30. if(n=='guineo')
  31. guineo+=1;
  32.  
  33. if(n=='yuca')
  34. yuca+=1;
  35.  
  36. if(n=='zanahoria')
  37. zanahoria=1;
  38.  
  39. if(n=='lechuga')
  40. lechuga+=1;
  41.  
  42. if(n=='otoe')
  43. otoe+=1;
  44.  
  45. if(n=='name')
  46. name+=1;
  47. }
  48. document.getElementById('zona').innerHTML=naranja;


ley mucho como siempre antes de postear para que no me digan que san google tiene la respuesta.

bueno y lo que encontre fue lo siguiente:
Código
  1. document.getElementById('zona').innerHTML=naranja;

donde 'zona' es el ID del label que aparece en la segunda tabla de mi html y el metodo document.getElementById me permitira hacer lo que yo estoy buscando pero no es asi. si alguien tiene una idea que me pueda ayudar se lo boy agradecer de por vida.

 :-[ :-[ :-[ :-[ :-[ :-[ :-[ :-[ :-[ :-[ :-[ :-[ :-[ :-[ :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :(


Título: Re: Recargar colunna de una Tabla sin refrescar la pagina web.
Publicado por: WarGhost en 25 Junio 2012, 14:30 pm
getElementById lo único que hace es obtener el identificador de un elemento en el DOM, luego con innerHTML estas modificar el HTML que tiene encapsulado ese elemento. Realmente no estas conectándote al servidor en ningún sitio, todo lo estas ejecutando en el cliente, no necesitas conectarte el servidor.
Lo que debes hacer es actualizar el div según los eventos onclick en las diferentes imágenes y todo eso se hace en el cliente.

Te recomiendo que utilices debug que tiene el firebug, si verifiques cual es el error que tienes.

Por otro lado, si lo que quieres es hacer peticiones desde el servidor al cliente, deberás mantener una conexión abierta entre el cliente y el servidor web, para esto puedes usar comet.

Un saludo.


Título: Re: Recargar colunna de una Tabla sin refrescar la pagina web.
Publicado por: Spider-Net en 25 Junio 2012, 14:38 pm
Tu error está en que has dejado la sentencia que escribe el valor dentro de tu label "zona" fuera de la función, por lo que nunca se ejecuta xD.

Ponlo así:

Código
  1. // productos de la primera colunna
  2. var naranja=0;
  3. var mango=0;
  4. var limon=0;
  5. var guineo=0;
  6. var papaya=0;
  7. // productos de la segunda colunna
  8. var yuca=0;
  9. var zanahoria=0;
  10. var name=0;
  11. var lechuga=0;
  12. var otoe=0;
  13.  
  14. function calculando(n)
  15. {
  16. // comensamos a contar cuantas veces selecciona el producto el cliente.
  17. if(n=='naranja')
  18. naranja+=1;
  19.  
  20. if(n=='mango')
  21. mango+=1;
  22.  
  23. if(n=='limon')
  24. limon+=1;
  25.  
  26. if(n=='papaya')
  27. papaya+=1;
  28.  
  29. if(n=='guineo')
  30. guineo+=1;
  31.  
  32. if(n=='yuca')
  33. yuca+=1;
  34.  
  35. if(n=='zanahoria')
  36. zanahoria=1;
  37.  
  38. if(n=='lechuga')
  39. lechuga+=1;
  40.  
  41. if(n=='otoe')
  42. otoe+=1;
  43.  
  44. if(n=='name')
  45. name+=1;
  46.  
  47. document.getElementById('zona').innerHTML=naranja;
  48. }


Título: Re: Recargar colunna de una Tabla sin refrescar la pagina web.
Publicado por: lluvplay en 25 Junio 2012, 15:03 pm
Gracias solucionado !!!
 ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-)