Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/11/2016, 07:39
wanamingo2
 
Fecha de Ingreso: octubre-2010
Mensajes: 31
Antigüedad: 14 años, 1 mes
Puntos: 1
Pregunta Sistema de votacion con jquery

Estoy haciendo un sistema de votación con jquery-ajax. Se trata del típico jquery que al hacer clic en un div (al votar), se envian datos a un archivo intermedio que procesa los datos (en este caso up_vote.php), y posteriormente se actualiza el div con los nuevos datos. Funciona perfectamente, dando de resultado =2 (variable enviada mas uno).

En una segunda fase intento presentar el resultado de la votación en otro div (en otro sitio de la página). El problema es, que se refresca el div, pero resultado es incorrecto, mostrando 1 en lugar de 2 (parece como si la variable no hubiera sido enviada, o el div se refrescara antes de recibir el resultado).

Os dejo el código completo por si alguien lo quiere probar...

Index.html__________________
Código HTML:
Ver original
  1. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />  
  2. <link type="text/css" rel="stylesheet" href="style.css" />
  3. <script type="text/javascript" src="myjquery.js"></script>
  4. </head>
  5.  
  6. <script type="text/javascript">
  7. $(function(){
  8.   $(".n_vote").click(function()
  9.     {
  10.     var id_field = $(this).attr("id");
  11.     var parent = $(this);
  12.      $.ajax({
  13.                  type: "POST",
  14.                  url: "up_vote.php",
  15.                  data: {id_field: id_field, name: name},
  16.                  cache: false,
  17.         success: function(html){
  18.             //mostrar los resultados en el mismo div
  19.             parent.html(html);
  20.             //y tambien mostrar los resultados en div #results
  21.             $("#results").load("up_vote.php");
  22.     }  
  23.              });
  24.     return false;
  25.     });
  26. });
  27.  
  28.  
  29. <div class="vote_system">
  30. <div class="n_vote" name="up" id="1">Pincha aqui para mostrar resultado</div>
  31. </div>
  32. <!--  muestra el resultado correcto=2 -->
  33. ______________________________
  34.  
  35. <br>
  36. Mostrar resultado en otro div:
  37. <br>
  38. <div class="results" id="results">
  39. </div>
  40. <!--  muestra incorrecto el resultado=1 -->
  41.  
  42. </body>
  43. </html>

up_vote.php__________________

Código PHP:
Ver original
  1. <?php
  2. $id_field=$_POST['id_field'];
  3. echo 'Resultado=';
  4. echo $id_field+1;
  5. ?>


Soy un poco torpe con jquery. ¿Alguien con más experiencia me puede explicar porqué el segundo div no muestra el resultado correcto?, ¿que sucede y cómo resolvelo?