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

problema paso de parametros en AJAX

Estas en el tema de problema paso de parametros en AJAX en el foro de Frameworks JS en Foros del Web. Mi problema es que al mandar una solicitud de amistad, para lo cual utilizo un submit, siempre que la mando me coge el valor del ...
  #1 (permalink)  
Antiguo 23/10/2012, 09:17
valago
Invitado
 
Mensajes: n/a
Puntos:
problema paso de parametros en AJAX

Mi problema es que al mandar una solicitud de amistad, para lo cual utilizo un submit, siempre que la mando me coge el valor del ultimo usuario que ha recogido de la busqueda. Le he estado dando vueltas, pero no se exactamente donde está el problema.


Código PHP:
Ver original
  1. <?php
  2. ?>
  3.  
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  5. <html xmlns="http://www.w3.org/1999/xhtml">
  6. <head>
  7. <?
  8.     include ("include/connection.php");
  9.     include ("language.php");
  10.  
  11. ?>
  12.  
  13. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  14. <title>find</title>
  15. <link rel="stylesheet" type="text/css" href="css/index.css">
  16.  
  17.  
  18. <script type="text/javascript" src="js/jQuery-1.8.2.min.js"></script>  
  19. <script type="text/javascript" src="js/script.js"></script>  
  20. <!--script type="text/javascript" src="js/jQuery-ui-1.7.2.custom.min.js"></script-->
  21.  
  22.  
  23.  
  24.  
  25. </head>
  26.  
  27. <body>
  28.  
  29.  
  30. <div id="head">
  31.    <? include ("head.php")?>
  32. </div>
  33.  
  34.    
  35.  <div id="home">
  36.     <div class="colIzq">
  37.         <? include ("left.php")?>
  38.     </div>
  39.    
  40.     <div class="colCen">
  41.    
  42.     <?
  43.     //Para buscar por nombre, apellido, etc.
  44.         $consulta = "SELECT * FROM user WHERE (name LIKE '%".$_POST['find']."%' OR surname LIKE '%".$_POST['find']."%' OR locality LIKE'%".$_POST['find']."%' OR  province LIKE '%".$_POST['find']."%' or nacionality LIKE'%".$_POST['find']."%') AND code <> '".$_SESSION['code']."';";
  45.  
  46.         $result = mysql_query($consulta, $conn) or die (mysql_error()) ;
  47.         $toresult = mysql_num_rows($result);
  48.         if ($toresult>0) {?>
  49.          <div class="tabla">
  50.         <?
  51.             while($row = mysql_fetch_assoc($result)){
  52.         ?>
  53.               <div class="fila">  
  54.              
  55.  
  56.              
  57.                 <div class="findPhotoCol"> 
  58.         <?
  59.                     if (empty($row['photo'])){
  60.                         $photo="./0x0/NoDisponible.jpg";
  61.        
  62.                     }else{
  63.                         $photo= "users/".$row['code']."/".$row['photo'];
  64.                    
  65.                     }?>
  66.                     <img src="<?php echo $photo ?>" width="130" height="130" />
  67.                 </div>
  68.                 <div class="findDateCol">
  69.         <?
  70.                
  71.                     echo "<div class=\"findName\">" .$row['name']." " .$row['surname']."</div>";
  72.                     echo "<div class=\"findDate\">" .$row['email']."<br>";
  73.                     echo  $row['birth_data']."<br>";
  74.                     echo  $row['locality']."<br>";
  75.                     echo  $row['province']."<br>";
  76.                     echo  $row['nacionality']."<br></div>";
  77.            
  78.                     $code_user=$_SESSION['code'];
  79.                     $code_friend=$row['code'];
  80.                     $name_friend=$row['name']." ".$row['surname'];
  81.    
  82.         ?>
  83.                 </div>
  84.              
  85.              <?
  86.              //Comprobamos que no sea ya mi amig@
  87.             $sqlmyfriend= "select * from friends where user_code='".$_SESSION['code']."' and friend='".$row['code']."' or user_code='".$row['code']."' and friend='".$_SESSION['code']."' ;";
  88.             $resultmyfriend = mysql_query($sqlmyfriend, $conn) or die (mysql_error()) ;
  89.             $toresultfriend = mysql_num_rows($resultmyfriend);
  90.             if ($toresultfriend==0) {?>
  91.                    
  92.                 <input type="text" value="<?php echo $code_friend; ?>" name="post_id" id="post_id">
  93.  
  94.                 <button type="button" onClick="votar()"><?php echo $i_FRIENDSHIP; ?></button>
  95.         <?  } ?>
  96.          </div>
  97.       <? } ?>
  98.     </div> 
  99.     <?
  100.     echo mysql_error();
  101.    
  102. }
  103. ?>
  104.  
  105.  
  106.     </div>
  107.    
  108.     <div class="colDer">
  109.             <? include ("right.php")?>
  110.      </div>
  111. </div>     
  112.  
  113. </body>
  114.  
  115. </html>


Desde aquí enlazo con archivo.php, evitando tener que mandar los datos por url, ya que todo esto es por evitar que se manden las variables visibles a través de la url, pues sería un problema de seguridad.

Código AJAX:
Ver original
  1. function votar(){
  2.  
  3. $.ajax({
  4.     type: 'POST',
  5.     url: 'archivo.php',
  6.      data: 'id='+$("#post_id").val(),
  7.     success: function(h){
  8.             // Un mensaje que muestra lo que imprimo con php
  9.           alert("DENTRO DE SCRIPT"+$("#post_id").val()+h);
  10.     }
  11.   });
}


Aquí hago el insert en la base de datos

Código PHP:
Ver original
  1. <?php
  2.  
  3.  $id=$_POST[id];
  4.  
  5.  
  6.  include ("language.php");
  7.  include ("include/connection.php");
  8.  
  9.  $consulta = "INSERT INTO friends (id, user_code,friend,state) values ('','".$_SESSION['code']."','$id','0')";
  10.  
  11. echo $consulta;
  12. $result = mysql_query($consulta, $conn) or die (mysql_error()) ;
  13.  
  14.  echo $i_FRIENDSHIPSENT;
  15.      
  16.  ?>


Muchas gracias de antemano, y un saludo.
  #2 (permalink)  
Antiguo 23/10/2012, 09:46
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 5 meses
Puntos: 1567
Respuesta: problema paso de parametros en AJAX

Para analizar algo así es necesario el código generado, aunque en principio parecería que el error es de php

tenés esto, y decís que siempre te toma el valor del último usuario, lo que implica que en los resultados puede haber más de un usuario
Si siempre imprimís esto,

<input type="text" value="<?php echo $code_friend; ?>" name="post_id" id="post_id">

el $code_friend va a cambiar, pero el id del input siempre va a ser el mismo

Supongo que el problema viene por ahi
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #3 (permalink)  
Antiguo 23/10/2012, 10:09
valago
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: problema paso de parametros en AJAX

Si puedo hacer algo para mostrarte mejor lo que hace, dimelo. he adjuntado todo el código en cuestión.

Respecto al valor que coge siempre, no es el del ultimo usuario de la busqueda, si no del primero, me he equivocado.

En un busqueda puede haber mas de un usuario, imagina, que busca josé, pueden salir varios josé, pero solo quieres hacer amigo a uno de ellos, pro ejemplo el tercer resultado pinchas en su botón, pero a la hora de hacer el insert, que lo imprimo para comprobarlo, siempre coge el mismo code_friend, el del primero de la lista.

He estado mirando lo de que el id del input siembre va a ser el mismo, y puede que tengas razón, que sea eso, pero no se me ocurre como solucionarlo. Alguna idea?.

Un saludo, y gracias por tu respuesta.
  #4 (permalink)  
Antiguo 23/10/2012, 11:11
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 5 meses
Puntos: 1567
Respuesta: problema paso de parametros en AJAX

A ver, fijate por este lado

data: 'id='+$("#post_id").val(),
ahi, $("#post_id").val() representa el valor (atributo valor) del elemento que en la página tenga por id post_id

si vos tenes generado (te lo simplifico)

<input value="juan" id="post_id">
<button onclick="votar()">votar</button>

<input value="Carlos" id="post_id">
<button onclick="votar()">votar</button>

la función toma el valor del primer id que encuentra, ya que lis id de un elemento cualquiera sea en una página deben de ser "únicos" (además su identificación no debe ser ni comenzar por un número)

asi a simple vista, deberías generar dinamicamente los id de cada input y pasar dicho id como parámetro a la función

Ejemplo (y simplifico una vez más):

Código PHP:
Ver original
  1. <input type="text" value="<?php echo $code_friend; ?>" name="<?php echo $code_friend; ?>" id="<?php echo 'a_' . $code_friend; ?>">
  2.  
  3. <button type="button" onClick="votar(<?php echo 'a_' . $code_friend; ?>)"><?php echo $i_FRIENDSHIP; ?></button>

y en tu función

Código Javascript:
Ver original
  1. function votar(elId){
  2.  
  3. $.ajax({
  4.     type: 'POST',
  5.     url: 'archivo.php',
  6.      data: 'id='+$("#" + elId).val(),
  7.     success: function(h){
  8.             // Un mensaje que muestra lo que imprimo con php
  9.           alert("DENTRO DE SCRIPT"+$("#"+ elId).val()+h);
  10.     }
  11.   });

Para que el botón mande el value del id del input que corresponde.
Ojo, que en mi ejemplo asumo que $code_friend es algún numero o cadena que no contenga espacios en blanco ni caracteres extraños (acentos, etc), y si fuera un numero le agrego a_ al inicio por lo que te expliqué antes.
Si no podés usar $code_friend para identificar los id, tendrás que utilizar otro elemento de la tabla en la BD para usar

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #5 (permalink)  
Antiguo 23/10/2012, 11:47
Avatar de satjaen  
Fecha de Ingreso: septiembre-2012
Ubicación: Jaén (Andalucía)
Mensajes: 893
Antigüedad: 12 años, 3 meses
Puntos: 10
Respuesta: problema paso de parametros en AJAX

Muy bien, esas si son formas de explicar las cosas.
  #6 (permalink)  
Antiguo 23/10/2012, 11:57
valago
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: problema paso de parametros en AJAX

Muchas gracias por tu respuesta, lo has explicado todo muy bien y muy claro.

El code_friend es una string alfanumérico de 10 caracteres como 9ddbdb402.

Me imagino que con tu solución debe funcionar, pero al hacer esos cambios, cuando pincho en el boton no hace nada, he probado document.write('hola'); dentro de la función y lo imprime pero entonces se queda pillado ahí.

Ahora mismo no se a que se puede deber.
  #7 (permalink)  
Antiguo 23/10/2012, 12:03
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 5 meses
Puntos: 1567
Respuesta: problema paso de parametros en AJAX

Mirá, puede que algún error haya cometido, lo vi muy por arriba, la mejor sugerencia es que cargues la página en el navegador (la versión vieja y la corregida), y nos pases el código fuente que se genera (no el php, lo que se ve al hacer click derecho / ver código fuente.
Podés también ayudarte con la consola de error (del firefox preferentemente)

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #8 (permalink)  
Antiguo 23/10/2012, 12:10
Avatar de satjaen  
Fecha de Ingreso: septiembre-2012
Ubicación: Jaén (Andalucía)
Mensajes: 893
Antigüedad: 12 años, 3 meses
Puntos: 10
Respuesta: problema paso de parametros en AJAX

Eso es tratando a todos por igual
  #9 (permalink)  
Antiguo 23/10/2012, 12:14
valago
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: problema paso de parametros en AJAX

Este es el codigo fuente de la página modificada, como tu me has dicho:


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.  
  5.  
  6.  
  7. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  8. <title>find</title>
  9. <link rel="stylesheet" type="text/css" href="css/index.css">
  10.  
  11.  
  12. <script type="text/javascript" src="js/jQuery-1.8.2.min.js"></script>  
  13. <script type="text/javascript" src="js/script.js"></script>  
  14. <!--script type="text/javascript" src="js/jQuery-ui-1.7.2.custom.min.js"></script-->
  15.  
  16.  
  17.  
  18.  
  19. </head>
  20.  
  21. <body>
  22.  
  23.  
  24. <div id="head">
  25.    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  26. <html xmlns="http://www.w3.org/1999/xhtml">
  27. <head>
  28. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  29. <title>Documento sin título</title>
  30. <link rel="stylesheet" type="text/css" href="css/index.css">
  31.  
  32. <script language="javascript">
  33.     function Borrar(valor)
  34.     {
  35.         if(document.getElementById("find").value==valor)
  36.         {
  37.             document.getElementById("find").value="";
  38.         }
  39.     }
  40.            
  41.     function Escribir(valor)
  42.     {
  43.         if(document.getElementById("find").value=="")
  44.         {
  45.             document.getElementById("find").value=valor;
  46.         }
  47.     }
  48.    
  49.    
  50.  
  51.    
  52.    
  53. </script>
  54. </head>
  55.  
  56. <body>
  57.  
  58.   <a href="http://192.168.1.96/insubook/close_session.php" target="_self">  <input type="text" name="Exit" class="botonTrans" style="width:40px;" value="Salir" /> </a>
  59.      
  60.     <input type="text" name="Usuario" class="botonTrans" value="Usuario: Jose">
  61.      <img src="images/insubook.gif" width="100" height="45" class="insu"  />
  62.     <a href="http://192.168.1.96/insubook/index2.php" target="_blank"><img src="images/logo.gif" width="45" height="40" alt="Insobook logo" title="Logo Insobook" class="insuLogo"/></a>
  63.  
  64.    
  65.    
  66.     <a href="#" target="_blank"> <img src="images/mensajes.png" class="icoHead" title="Messages"/></a>
  67.     <a href="http://192.168.1.96/insubook/friends.php" target="_self"> <img src="images/solicitud.png" class="icoHead" title="Your friends"/></a>
  68.     <a href="#" target="_blank"> <img src="images/notificaciones.png" class="icoHead" title="Find insurances" /></a>
  69.     <a href="#" target="_blank"> <img src="images/notificaciones.png" class="icoHead" title="Applications" /></a>
  70.     <a href="#" target="_blank"> <img src="images/notificaciones.png" class="icoHead" title="Groups" /></a>
  71.  
  72.  
  73.      
  74.    
  75. <!--input type="button" name="Inicio" class="botonTrans" value="Inicio">
  76. <input type="button" name="BuscasAmigos" class="botonTrans" value="Buscar Amigos"-->
  77.  
  78.    
  79.    
  80.     <!--input type="image" src="images/icono_buscar.gif" width="25" height="30" class="busHeadIco">
  81.     <input name="buscar" type="text" class="busHead" value="Search" size="40"/-->
  82.    
  83.    
  84.    
  85.   <form name="finds" action="find.php" method="post">
  86.     <input id="find" name="find" type="text" class="busHead"  value="Busca personas, lugares y cosas" onfocus="Borrar('Busca personas, lugares y cosas')" onblur="Escribir('Busca personas, lugares y cosas')" size="40"/>    
  87.   </form>
  88.  
  89.  
  90.  
  91.   </body>
  92. </html></div>
  93.  
  94.    
  95.  <div id="home">
  96.     <div class="colIzq">
  97.         <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  98. <html xmlns="http://www.w3.org/1999/xhtml">
  99. <head>
  100. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  101. <title>Documento sin título</title>
  102. </head>
  103.  
  104. <body>
  105.     <a href="#" target="_blank"> <img src="images/solicitud.png" class="icoHead" title="menu1" /></a> <br />
  106.     <a href="#" target="_blank"> <img src="images/solicitud.png" class="icoHead" title="menu2" /></a> <br />
  107.     <a href="#" target="_blank"> <img src="images/solicitud.png" class="icoHead" title="menu3" /></a> <br />
  108. </body>
  109. </html>    </div>
  110.    
  111.     <div class="colCen">
  112.    
  113.              <div class="tabla">
  114.                       <div class="fila">  
  115.              
  116.  
  117.              
  118.                 <div class="findPhotoCol"> 
  119.                             <img src="./0x0/NoDisponible.jpg" width="130" height="130" />
  120.                 </div>
  121.                 <div class="findDateCol">
  122.         <div class="findName">android android</div><div class="findDate">android@insubook.com<br><br><br><br><br></div>                 </div>
  123.              
  124.                              <input type="text" value="29ddbdb402" name="a_29ddbdb402" id="a_29ddbdb402"/>
  125.      
  126.                 <button type="button" onClick="votar(a_29ddbdb402)">Solicitud de amistad</button>
  127.                
  128.                  </div>
  129.                   <div class="fila">  
  130.              
  131.  
  132.              
  133.                 <div class="findPhotoCol"> 
  134.                             <img src="./0x0/NoDisponible.jpg" width="130" height="130" />
  135.                 </div>
  136.                 <div class="findDateCol">
  137.         <div class="findName">esther martinez</div><div class="findDate">mesther2@gmail.com<br><br><br><br><br></div>                   </div>
  138.              
  139.                              <input type="text" value="f51cf26546" name="a_f51cf26546" id="a_f51cf26546"/>
  140.      
  141.                 <button type="button" onClick="votar(a_f51cf26546)">Solicitud de amistad</button>
  142.                
  143.                  </div>
  144.         </div> 
  145.    
  146.  
  147.  
  148.  
  149.  
  150.  
  151.     </div>
  152.    
  153.     <div class="colDer">
  154.            
  155. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  156. <html xmlns="http://www.w3.org/1999/xhtml">
  157. <head>
  158.  
  159.  
  160. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  161. <link rel="stylesheet" type="text/css" href="css/index.css">
  162. <title>Documento sin título</title>
  163. </head>
  164.  
  165. <body>
  166.  
  167.  
  168.     <img src="./0x0/NoDisponible.jpg" width="150" height="150" />
  169.  
  170.  
  171.  
  172.  
  173. </body>
  174. </html>
  175.  
  176.  
  177.      </div>
  178. </div>     
  179.  
  180. </body>
  181.  
  182. </html>
  #10 (permalink)  
Antiguo 23/10/2012, 12:15
valago
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: problema paso de parametros en AJAX

Y este el que generaba anteriormente.


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.  
  5.  
  6.  
  7. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  8. <title>find</title>
  9. <link rel="stylesheet" type="text/css" href="css/index.css">
  10.  
  11.  
  12. <script type="text/javascript" src="js/jQuery-1.8.2.min.js"></script>  
  13. <script type="text/javascript" src="js/script.js"></script>  
  14. <!--script type="text/javascript" src="js/jQuery-ui-1.7.2.custom.min.js"></script-->
  15.  
  16.  
  17.  
  18.  
  19. </head>
  20.  
  21. <body>
  22.  
  23.  
  24. <div id="head">
  25.    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  26. <html xmlns="http://www.w3.org/1999/xhtml">
  27. <head>
  28. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  29. <title>Documento sin título</title>
  30. <link rel="stylesheet" type="text/css" href="css/index.css">
  31.  
  32. <script language="javascript">
  33.     function Borrar(valor)
  34.     {
  35.         if(document.getElementById("find").value==valor)
  36.         {
  37.             document.getElementById("find").value="";
  38.         }
  39.     }
  40.            
  41.     function Escribir(valor)
  42.     {
  43.         if(document.getElementById("find").value=="")
  44.         {
  45.             document.getElementById("find").value=valor;
  46.         }
  47.     }
  48.    
  49.    
  50.  
  51.    
  52.    
  53. </script>
  54. </head>
  55.  
  56. <body>
  57.  
  58.   <a href="http://192.168.1.96/insubook/close_session.php" target="_self">  <input type="text" name="Exit" class="botonTrans" style="width:40px;" value="Salir" /> </a>
  59.      
  60.     <input type="text" name="Usuario" class="botonTrans" value="Usuario: Jose">
  61.      <img src="images/insubook.gif" width="100" height="45" class="insu"  />
  62.     <a href="http://192.168.1.96/insubook/index2.php" target="_blank"><img src="images/logo.gif" width="45" height="40" alt="Insobook logo" title="Logo Insobook" class="insuLogo"/></a>
  63.  
  64.    
  65.    
  66.     <a href="#" target="_blank"> <img src="images/mensajes.png" class="icoHead" title="Messages"/></a>
  67.     <a href="http://192.168.1.96/insubook/friends.php" target="_self"> <img src="images/solicitud.png" class="icoHead" title="Your friends"/></a>
  68.     <a href="#" target="_blank"> <img src="images/notificaciones.png" class="icoHead" title="Find insurances" /></a>
  69.     <a href="#" target="_blank"> <img src="images/notificaciones.png" class="icoHead" title="Applications" /></a>
  70.     <a href="#" target="_blank"> <img src="images/notificaciones.png" class="icoHead" title="Groups" /></a>
  71.  
  72.  
  73.      
  74.    
  75. <!--input type="button" name="Inicio" class="botonTrans" value="Inicio">
  76. <input type="button" name="BuscasAmigos" class="botonTrans" value="Buscar Amigos"-->
  77.  
  78.    
  79.    
  80.     <!--input type="image" src="images/icono_buscar.gif" width="25" height="30" class="busHeadIco">
  81.     <input name="buscar" type="text" class="busHead" value="Search" size="40"/-->
  82.    
  83.    
  84.    
  85.   <form name="finds" action="find.php" method="post">
  86.     <input id="find" name="find" type="text" class="busHead"  value="Busca personas, lugares y cosas" onfocus="Borrar('Busca personas, lugares y cosas')" onblur="Escribir('Busca personas, lugares y cosas')" size="40"/>    
  87.   </form>
  88.  
  89.  
  90.  
  91.   </body>
  92. </html></div>
  93.  
  94.    
  95.  <div id="home">
  96.     <div class="colIzq">
  97.         <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  98. <html xmlns="http://www.w3.org/1999/xhtml">
  99. <head>
  100. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  101. <title>Documento sin título</title>
  102. </head>
  103.  
  104. <body>
  105.     <a href="#" target="_blank"> <img src="images/solicitud.png" class="icoHead" title="menu1" /></a> <br />
  106.     <a href="#" target="_blank"> <img src="images/solicitud.png" class="icoHead" title="menu2" /></a> <br />
  107.     <a href="#" target="_blank"> <img src="images/solicitud.png" class="icoHead" title="menu3" /></a> <br />
  108. </body>
  109. </html>    </div>
  110.    
  111.     <div class="colCen">
  112.    
  113.              <div class="tabla">
  114.                       <div class="fila">  
  115.              
  116.  
  117.              
  118.                 <div class="findPhotoCol"> 
  119.                             <img src="./0x0/NoDisponible.jpg" width="130" height="130" />
  120.                 </div>
  121.                 <div class="findDateCol">
  122.         <div class="findName">android android</div><div class="findDate">android@insubook.com<br><br><br><br><br></div>                 </div>
  123.              
  124.               <input type="text" value="29ddbdb402" name="post_id" id="post_id">
  125.  
  126.                 <button type="button" onClick="votar()">Solicitud de amistad</button>
  127.                
  128.                  </div>
  129.                   <div class="fila">  
  130.              
  131.  
  132.              
  133.                 <div class="findPhotoCol"> 
  134.                             <img src="./0x0/NoDisponible.jpg" width="130" height="130" />
  135.                 </div>
  136.                 <div class="findDateCol">
  137.         <div class="findName">esther martinez</div><div class="findDate">mesther2@gmail.com<br><br><br><br><br></div>                   </div>
  138.              
  139.               <input type="text" value="f51cf26546" name="post_id" id="post_id">
  140.  
  141.                 <button type="button" onClick="votar()">Solicitud de amistad</button>
  142.                
  143.                  </div>
  144.         </div> 
  145.    
  146.  
  147.  
  148.  
  149.  
  150.  
  151.     </div>
  152.    
  153.     <div class="colDer">
  154.            
  155. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  156. <html xmlns="http://www.w3.org/1999/xhtml">
  157. <head>
  158.  
  159.  
  160. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  161. <link rel="stylesheet" type="text/css" href="css/index.css">
  162. <title>Documento sin título</title>
  163. </head>
  164.  
  165. <body>
  166.  
  167.  
  168.     <img src="./0x0/NoDisponible.jpg" width="150" height="150" />
  169.  
  170.  
  171.  
  172.  
  173. </body>
  174. </html>
  175.  
  176.  
  177.      </div>
  178. </div>     
  179.  
  180. </body>
  181.  
  182. </html>
  #11 (permalink)  
Antiguo 23/10/2012, 13:04
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 5 meses
Puntos: 1567
Respuesta: problema paso de parametros en AJAX

Como se dice por acá, vamos a barajar y dar de nuevo

Eso que pasaste es un 'desastre', tenes no 2 sino 3 encabezados html (supongo, solo supongo que estás haciendo algun include o algun load de jquery y las páginas que cargás tienen declarados tambien el doctype y demás.
Tampoco veo tu script (supongo, también que esta en el script.js)

Tenés que arreglar todo eso primero, después, te dejo este ejemplo sencillito
Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <title>titulo</title>
  5. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  6. <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
  7. <script type="text/javascript">
  8. //<![CDATA[
  9. function votar(elid){
  10. var valor = $('#'+elid).val();
  11. alert('procesa.php?id='+ valor);
  12. }
  13. //]]>
  14. </head>
  15. <input type="text" value="f51cf26546" name="post_id" id="a_f51cf26546">
  16. <button type="button" onClick="votar('a_f51cf26546');">Solicitud de amistad</button><br />
  17. <input type="text" value="f51cf26550" name="post_id" id="a_f51cf26550">
  18. <button type="button" onClick="votar('a_f51cf26550');">Solicitud de amistad</button><br />
  19. </body>
  20. </html>

El alert lo reemplazarías por tu $.ajax(...)
y los inputs y botones tenes que generarlos como te he dicho

Probá mi ejemplo y vas a ver como se pasa el value correcto para cada botón

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #12 (permalink)  
Antiguo 24/10/2012, 05:14
valago
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: problema paso de parametros en AJAX

Hola de nuevo emprear, tenías razón por un despiste tenía el código un poco sucio, al hacer los includes de las páginas. He probado lo que me has dicho y ya he conseguido que funcione y llama bien a mi página

Código PHP:
Ver original
  1. <input type="text" value="<?php echo $code_friend; ?>" name="post_id" id="<?php echo $code_friend; ?>">
  2. <button type="button" onClick="votar('<?php echo $code_friend; ?>');reload();">Solicitud de amistad</button><br />

Le he pasado code friend y ningún problema al parecer anteriormente aparte de los cambios que se han hecho en el script, en button, onclick habia un par de errorres de sintaxis.

Lo que hacía anteriormente:
Código PHP:
Ver original
  1. <button type="button" onClick="votar(<?php echo 'a_' . $code_friend; ?>)"><?php echo $i_FRIENDSHIP; ?></button>

le faltaban unas comillas simples y el punto y coma.

Solucionado eso, ahora me surge otro problema que le estoy dando vueltas, y es que cuando ha hecho bien el insert en la página archivo.php que llamamos desde el script, necesitaría que se recargara la página donde tengo boton solicitar amistar para que desaparezca automaticamente.

He probado con esto:
Código Javascript:
Ver original
  1. <script>
  2. function reload(){
  3.     <? echo 'aquí recarga';?>
  4.         opener.document.location.reload();
  5. }
  6. </script>


Un script arriba de la página que se llama en el button justo despues de llamar a la función votar de esta forma:

Código PHP:
Ver original
  1. <input type="text" value="<?php echo $code_friend; ?>" name="post_id" id="<?php echo $code_friend; ?>">
  2. <button type="button" onClick="votar('<?php echo $code_friend; ?>');reload();">Solicitud de amistad</button><br />

Esto no funciona, no llama a reload, estoy haciendo algo mal?, o sencillamente esto no se puede hacer de esta manera.


Te vuelvo a dar las gracias, un saludo
  #13 (permalink)  
Antiguo 24/10/2012, 05:36
valago
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: problema paso de parametros en AJAX

he encontrado una solución que hace lo que quiero, pero me sale el tipico mensaje de
Cita:
Para mostrar esta página, Firefox necesita enviar información que repetirá cualquier acción (como una búsqueda o una confirmación de compra) realizada anteriormente.
la solución es utilizar location.reload(); en el onclick.

Código PHP:
Ver original
  1. <button type="button" onClick="votar('<?php echo $code_friend; ?>');location.reload();">Solicitud de amistad</button><br />

Me imagino que habrá otra forma de conseguir lo que quiero sin que muestre ese mensaje molesto y cutre. Pero de momento no se me ocurre otra solución. Espero me puedan aconsejar.

un saludo.
  #14 (permalink)  
Antiguo 24/10/2012, 10:49
valago
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: problema paso de parametros en AJAX

Sigo con el mismo problema, si pudieran orientarme, ya que no se si lo que quiero se puede conseguir con php y ajax. un saludo
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 09:54.