Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] Llamar funcion desde el div de repuesta del php

Estas en el tema de Llamar funcion desde el div de repuesta del php en el foro de Jquery en Foros del Web. Hola, por favor puede decirme alguien como puedo hacer funcionar esta funcion que pongo desde el div de respuesta del php. Me explico un poco. ...
  #1 (permalink)  
Antiguo 20/02/2014, 16:46
Avatar de satjaen  
Fecha de Ingreso: septiembre-2012
Ubicación: Jaén (Andalucía)
Mensajes: 893
Antigüedad: 11 años, 7 meses
Puntos: 10
Llamar funcion desde el div de repuesta del php

Hola, por favor puede decirme alguien como puedo hacer funcionar esta funcion que pongo desde el div de respuesta del php. Me explico un poco. En la misma página tengo:

Esta funcion inserta los registros:

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. $(document).ready(function() {
  3.    
  4.     $("#salida").click(function(){     
  5.    
  6.       $("#form6").trigger("submit");
  7.        });
  8.    
  9.  
  10.     $('#form6').submit(function(event) {
  11.      var datos = $(this).serialize();  
  12.       event.preventDefault()
  13.       $.ajax(
  14.         {
  15.             url:'inserta.php',
  16.             type:'POST',
  17.             data:datos,
  18.             beforeSend:function(objeto){
  19.                 $('#carga').css({display:'block'});
  20.             },
  21.             complete:function(){
  22.                 $('#carga').css('display','none');
  23.                 },
  24.             success: function(data) {
  25.                 $('#result1').html(data);
  26.  
  27.             }
  28.         });
  29.     });
  30. });
  31. </script>

y el php inserta.php


Código PHP:
Ver original
  1. do {
  2. echo "
  3. <form method='POST' name='form10' id='form10'>
  4. <table width='100%' align='center'>
  5. <tr >
  6. <td><input name='almacen' disabled='disabled'  type='text' size='2'   /></td>
  7. <td><input name='recambio' id='recambio'   type='text' size='10' value='$recambio'/></td>
  8. <td><input name='denominacion' id='denominacion' value='$denominacion'   type='text' size='25' /></td>
  9. <td><input name='cantidad' id='cantidad' value='$cantidad'  type='text' size='5' onkeyup='calcular()' /></td>
  10. <td><input name='pvp'  type='text' id='pvp' value='$pvp' size='5'/></td>
  11. <td><input name='descuento' id='descuento' value='$descuento'  type='text' size='5' onkeyup='calcular()'/></td>
  12. <td><input name='pvp_total' id='pvp_total' value='$pvp_total'  type='text' size='5' onkeyup='calcular()'  /></td>
  13. <td><img src='imagenes_menu/modificar.jpeg' id='mod10' width='20' height='20' style='cursor:pointer' /></td>
  14. <td><img src='imagenes_menu/cancelar.png' id='del10' width='20' height='20' style='cursor:pointer' /></td>
  15. <td><input type='hidden'  name='id_aviso' value='$id_aviso' size='32' /></td>
  16. <td><input type='hidden'  name='id_fact' value='$id_fact' size='32' /></td>
  17. <td><input type='hidden' name='MM_update' value='form10' /></td>
  18. </tr>
  19. </table>
  20. </form>  
  21. ";
  22.  
  23. } while ($row_Recordset3 = mysql_fetch_assoc($Recordset3));


En ese php tengo imagenes para mandar formularios y lo que quiero es llamar a esta otra funcion mediante el id=mod10 de una de ellas.



Esta es la otra funcion donde modifico lo que antes he insertado:

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. $(document).ready(function() {
  3.    
  4.     $("#mod10").click(function(){
  5.        
  6.       $("#form10").trigger("submit");
  7.        });
  8.    
  9.  
  10.     $('#form10').submit(function(event) {
  11.      var datos = $(this).serialize();  
  12.       event.preventDefault()
  13.       $.ajax(
  14.         {
  15.             url:'update_recam.php',
  16.             type:'POST',
  17.             data:datos,
  18.             beforeSend:function(objeto){
  19.                 $('#carga').css({display:'block'});
  20.             },
  21.             complete:function(){
  22.                 $('#carga').css('display','none');
  23.                 },
  24.             success: function(data) {
  25.                 $('#result3').html(data);
  26.  
  27.             }
  28.         });
  29.     });
  30. });
  31. </script>


Gracias y un saludo
  #2 (permalink)  
Antiguo 20/02/2014, 16:48
Avatar de satjaen  
Fecha de Ingreso: septiembre-2012
Ubicación: Jaén (Andalucía)
Mensajes: 893
Antigüedad: 11 años, 7 meses
Puntos: 10
Respuesta: Llamar funcion desde el div de repuesta del php

Cita:
Iniciado por satjaen Ver Mensaje
Hola, por favor puede decirme alguien como puedo hacer funcionar esta funcion que pongo desde el div de respuesta del php. Me explico un poco. En la misma página tengo:

Esta funcion inserta los registros:

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. $(document).ready(function() {
  3.    
  4.     $("#salida").click(function(){     
  5.    
  6.       $("#form6").trigger("submit");
  7.        });
  8.    
  9.  
  10.     $('#form6').submit(function(event) {
  11.      var datos = $(this).serialize();  
  12.       event.preventDefault()
  13.       $.ajax(
  14.         {
  15.             url:'inserta.php',
  16.             type:'POST',
  17.             data:datos,
  18.             beforeSend:function(objeto){
  19.                 $('#carga').css({display:'block'});
  20.             },
  21.             complete:function(){
  22.                 $('#carga').css('display','none');
  23.                 },
  24.             success: function(data) {
  25.                 $('#result1').html(data);
  26.  
  27.             }
  28.         });
  29.     });
  30. });
  31. </script>

y el php inserta.php


Código PHP:
Ver original
  1. do {
  2. echo "
  3. <form method='POST' name='form10' id='form10'>
  4. <table width='100%' align='center'>
  5. <tr >
  6. <td><input name='almacen' disabled='disabled'  type='text' size='2'   /></td>
  7. <td><input name='recambio' id='recambio'   type='text' size='10' value='$recambio'/></td>
  8. <td><input name='denominacion' id='denominacion' value='$denominacion'   type='text' size='25' /></td>
  9. <td><input name='cantidad' id='cantidad' value='$cantidad'  type='text' size='5' onkeyup='calcular()' /></td>
  10. <td><input name='pvp'  type='text' id='pvp' value='$pvp' size='5'/></td>
  11. <td><input name='descuento' id='descuento' value='$descuento'  type='text' size='5' onkeyup='calcular()'/></td>
  12. <td><input name='pvp_total' id='pvp_total' value='$pvp_total'  type='text' size='5' onkeyup='calcular()'  /></td>
  13. <td><img src='imagenes_menu/modificar.jpeg' id='mod10' width='20' height='20' style='cursor:pointer' /></td> //// Este lo pulso para modificar
  14. <td><img src='imagenes_menu/cancelar.png' id='del10' width='20' height='20' style='cursor:pointer' /></td>
  15. <td><input type='hidden'  name='id_aviso' value='$id_aviso' size='32' /></td>
  16. <td><input type='hidden'  name='id_fact' value='$id_fact' size='32' /></td>
  17. <td><input type='hidden' name='MM_update' value='form10' /></td>
  18. </tr>
  19. </table>
  20. </form>  
  21. ";
  22.  
  23. } while ($row_Recordset3 = mysql_fetch_assoc($Recordset3));


En ese php tengo imagenes para mandar formularios y lo que quiero es llamar a esta otra funcion mediante el id=mod10 de una de ellas.



Esta es la otra funcion donde modifico lo que antes he insertado:

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. $(document).ready(function() {
  3.    
  4.     $("#mod10").click(function(){
  5.        
  6.       $("#form10").trigger("submit");
  7.        });
  8.    
  9.  
  10.     $('#form10').submit(function(event) {
  11.      var datos = $(this).serialize();  
  12.       event.preventDefault()
  13.       $.ajax(
  14.         {
  15.             url:'update_recam.php',
  16.             type:'POST',
  17.             data:datos,
  18.             beforeSend:function(objeto){
  19.                 $('#carga').css({display:'block'});
  20.             },
  21.             complete:function(){
  22.                 $('#carga').css('display','none');
  23.                 },
  24.             success: function(data) {
  25.                 $('#result3').html(data);
  26.  
  27.             }
  28.         });
  29.     });
  30. });
  31. </script>


Gracias y un saludo


EDITO: Perdonad se ha duplicado.



Puede ser que haya que poner la segunda funcion con la que modifico después del div respuesta ( $('#result1').html(data) ) de la primera funcion ?

Última edición por satjaen; 20/02/2014 a las 17:29
  #3 (permalink)  
Antiguo 21/02/2014, 04:56
Avatar de satjaen  
Fecha de Ingreso: septiembre-2012
Ubicación: Jaén (Andalucía)
Mensajes: 893
Antigüedad: 11 años, 7 meses
Puntos: 10
Respuesta: Llamar funcion desde el div de repuesta del php

Perdón el php estaba mal hecho:

Código PHP:
$result mysql_query("SELECT * FROM detalle_factura_mc where id_aviso = '".$_POST['id_aviso']."'"$link); 
if (
$row mysql_fetch_array($result)){ 

while (
$field mysql_fetch_field($result)){ 
            echo 
"<td>$field->name</td> \n"

           
do { 
            echo 
"<form method='POST' name='form10' id='form10'> \n";
            echo 
"<table width='100%' > \n"
            echo 
"<tr> \n";
            echo 
"<td><input type='text' name='almacen' id='almacen' size='2' ></td>\n"
            echo 
"<td><input type='text' value=".$row["recambio"]." size='10' ></td>\n"
            echo 
"<td><input type='text' value=".$row["denominacion"]." size='25' ></td>\n"
            echo 
"<td><input type='text' value=".$row["cantidad"]." size='5' ></td>\n"
            echo 
"<td><input type='text' value=".$row["pvp"]." size='5'></td>\n"
            echo 
"<td><input type='text' size='5'  value=".$row["descuento"]." ></td>\n"
            echo 
"<td><input type='text' value=".$row["pvp_total"]." size='5' ></td>\n"
            echo 
"<td><img src='imagenes_menu/modificar.jpeg' id='mod10' width='20' height='20' style='cursor:pointer' /></td> \n"
            echo 
"<td><img src='imagenes_menu/cancelar.png' id='del10' width='20' height='20' style='cursor:pointer' /></td> \n";
            echo 
"<td><input type='hidden' name='MM_update' value='form10' /></td> \n";
            echo 
"</tr> \n";
            echo 
"</table> \n";
            echo 
"</form> \n";
        
            
         } while (
$row mysql_fetch_array($result)); 
           
    
} else { 
echo 
"¡ No se ha encontrado ningún registro !"



Al pulsar aquí:

Código Javascript:
Ver original
  1. echo "<td><img src='imagenes_menu/modificar.jpeg' id='mod10' width='20' height='20' style='cursor:pointer' /></td> \n";



Quiero que me haga esto:

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. $(document).ready(function() {
  3.    
  4.     $("#mod10").click(function(){
  5.        
  6.  
  7.       $("#form10").trigger("submit");
  8.        });
  9.    
  10.  
  11.     $('#form10').submit(function(event) {
  12.      var datos = $(this).serialize();  
  13.       event.preventDefault()
  14.       $.ajax(
  15.         {
  16.             url:'update_recam.php',
  17.             type:'POST',
  18.             data:datos,
  19.             beforeSend:function(objeto){
  20.                 $('#carga').css({display:'block'});
  21.             },
  22.             complete:function(){
  23.                 $('#carga').css('display','none');
  24.                 },
  25.             success: function(data) {
  26.                 $('#result3').html(data);
  27.    
  28.             }
  29.         });
  30.     });
  31. });
  32. </script>

Última edición por satjaen; 21/02/2014 a las 09:31
  #4 (permalink)  
Antiguo 21/02/2014, 12:59
Avatar de satjaen  
Fecha de Ingreso: septiembre-2012
Ubicación: Jaén (Andalucía)
Mensajes: 893
Antigüedad: 11 años, 7 meses
Puntos: 10
Respuesta: Llamar funcion desde el div de repuesta del php

He podido hacerlo poniendo la funcion en en el php pero solo me funciona en la primera fila de la tabla.

Código Javascript:
Ver original
  1. $result = mysql_query("SELECT * FROM detalle_factura_mc where id_aviso = '".$_POST['id_aviso']."'", $link);
  2. if ($row = mysql_fetch_array($result)){
  3.  
  4. while ($field = mysql_fetch_field($result)){
  5.             echo "<td>$field->name</td> \n";
  6. }
  7.          
  8. do {
  9.             echo "<form method='POST' name='form10' id='form10'> \n";  
  10.             echo "<table width='100%' > \n";
  11.             echo "<tr> \n";
  12.             echo "<td><input type='text' name='almacen' id='almacen' size='2' /></td>\n";
  13.             echo "<td><input type='text' name='recambio' value='" . $row['recambio'] . "' size='10' /></td>\n";
  14.             echo "<td><input type='text' name='denominacion'  size='25' value='" . $row['denominacion'] . "' /></td>\n";
  15.             echo "<td><input type='text' name='cantidad' value='".$row["cantidad"]."' size='5' /></td>\n";
  16.             echo "<td><input type='text' name='pvp' value='".$row["pvp"]."' size='5' /></td>\n";
  17.             echo "<td><input type='text' name='descuento' size='5'  value='".$row["descuento"]."' /></td>\n";
  18.             echo "<td><input type='text' name='pvp_total' value='".$row["pvp_total"]."' size='5' /></td>\n";
  19.             echo "<td><img src='imagenes_menu/modificar.jpeg' id='mod10' width='20' height='20' style='cursor:pointer' /></td> \n";
  20.             echo "<td><img src='imagenes_menu/cancelar.png' id='del10' width='20' height='20' style='cursor:pointer' /></td> \n";
  21.             echo "<td><input type='hidden' name='id_fact' value=".$row['id_fact']." /></td> \n";
  22.             echo "<td><input type='hidden' name='MM_update' value='form10' /></td> \n";
  23.             echo "</tr> \n";
  24.             echo "</table> \n";
  25.             echo "</form> \n";
  26.        
  27.            
  28.          } while ($row = mysql_fetch_array($result));
  29.            
  30.    
  31. } else {
  32. echo "¡ No se ha encontrado ningún registro !";
  33. }
  34.  
  35.  
  36.  
  37.  
  38.   }
  39. }
  40.  
  41. ?>
  42.  
  43. <script>
  44.  
  45. $(document).ready(function() {
  46.    
  47.    
  48.     $("#mod10").click(function(){
  49.        
  50.  
  51.       $("#form10").trigger("submit");
  52.        });
  53.    
  54.  
  55.     $('#form10').submit(function(event) {
  56.      var datos = $(this).serialize();  
  57.       event.preventDefault()
  58.       $.ajax(
  59.         {
  60.             url:'update_recam.php',
  61.             type:'POST',
  62.             data:datos,
  63.             beforeSend:function(objeto){
  64.                 $('#carga').css({display:'block'});
  65.             },
  66.             complete:function(){
  67.                 $('#carga').css('display','none');
  68.                 },
  69.             success: function(data) {
  70.                 $('#result3').html(data);
  71.    
  72.             }
  73.         });
  74.     });
  75.  });   
  76. </script>
  #5 (permalink)  
Antiguo 21/02/2014, 13:27
Avatar de satjaen  
Fecha de Ingreso: septiembre-2012
Ubicación: Jaén (Andalucía)
Mensajes: 893
Antigüedad: 11 años, 7 meses
Puntos: 10
Respuesta: Llamar funcion desde el div de repuesta del php

Creo que el problema lo tengo en el id="mod10" que al ser único solo funciona en la primera fila. Pero como hacer que funcione en las demás ?
  #6 (permalink)  
Antiguo 21/02/2014, 15:40
Avatar de satjaen  
Fecha de Ingreso: septiembre-2012
Ubicación: Jaén (Andalucía)
Mensajes: 893
Antigüedad: 11 años, 7 meses
Puntos: 10
Respuesta: Llamar funcion desde el div de repuesta del php

Le he puesto un valor al id :

Código Javascript:
Ver original
  1. id='mod10".$row['id_fact']."'

pero como lo hago aquí:


Código Javascript:
Ver original
  1. $("#mod10").click(function(){

Por favor una ayuda ?????
  #7 (permalink)  
Antiguo 22/02/2014, 13:21
Avatar de satjaen  
Fecha de Ingreso: septiembre-2012
Ubicación: Jaén (Andalucía)
Mensajes: 893
Antigüedad: 11 años, 7 meses
Puntos: 10
Respuesta: Llamar funcion desde el div de repuesta del php

Bueno al final lo he hecho de otra forma que he encontrado por internet:


Código Javascript:
Ver original
  1. <script type="text/javascript" src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
  2.     <script>
  3.     $(document).ready(function()
  4.     {
  5.         /* OBTENEMOS TABLA */
  6.         $.ajax({
  7.             type: "GET",
  8.             url: "editinplace.php?tabla=1"
  9.         })
  10.         .done(function(json) {
  11.             json = $.parseJSON(json)
  12.             for(var i=0;i<json.length;i++)
  13.             {
  14.                 $('.editinplace').append(
  15.                     "<tr><td class='id'>"+json[i].id+"</td><td class='editable' data-campo='nombre'><span>"+json[i].nombre+"</span></td><td class='editable' data-campo='apellidos'><span>"+json[i].apellidos+"</span></td><td class='editable' data-campo='email'><span>"+json[i].email+"</span></td><td class='editable' data-campo='telefono'><span>"+json[i].telefono+"</span></td></tr>");
  16.             }
  17.         });
  18.        
  19.         var td,campo,valor,id;
  20.         $(document).on("click","td.editable span",function(e)
  21.         {
  22.             e.preventDefault();
  23.             $("td:not(.id)").removeClass("editable");
  24.             td=$(this).closest("td");
  25.             campo=$(this).closest("td").data("campo");
  26.             valor=$(this).text();
  27.             id=$(this).closest("tr").find(".id").text();
  28.             td.text("").html("<input type='text' name='"+campo+"' value='"+valor+"'><a class='enlace guardar' href='#'>Guardar</a><a class='enlace cancelar' href='#'>Cancelar</a>");
  29.         });
  30.        
  31.         $(document).on("click",".cancelar",function(e)
  32.         {
  33.             e.preventDefault();
  34.             td.html("<span>"+valor+"</span>");
  35.             $("td:not(.id)").addClass("editable");
  36.         });
  37.        
  38.         $(document).on("click",".guardar",function(e)
  39.         {
  40.             $(".mensaje").html("<img src='loading.gif'>");
  41.             e.preventDefault();
  42.             nuevovalor=$(this).closest("td").find("input").val();
  43.             if(nuevovalor.trim()!="")
  44.             {
  45.                 $.ajax({
  46.                     type: "POST",
  47.                     url: "editinplace.php",
  48.                     data: { campo: campo, valor: nuevovalor, id:id }
  49.                 })
  50.                 .done(function( msg ) {
  51.                     $(".mensaje").html(msg);
  52.                     td.html("<span>"+nuevovalor+"</span>");
  53.                     $("td:not(.id)").addClass("editable");
  54.                     setTimeout(function() {$('.ok,.ko').fadeOut('fast');}, 3000);
  55.                 });
  56.             }
  57.             else $(".mensaje").html("<p class='ko'>Debes ingresar un valor</p>");
  58.         });
  59.     });
  60.    
  61.     </script>


Con esto edito los registros pero quería preguntaros si por favor me podia decir alguien como hacerlo para tambien poder eliminarlos.



Gracias y un saludo
  #8 (permalink)  
Antiguo 22/02/2014, 18:29
Avatar de satjaen  
Fecha de Ingreso: septiembre-2012
Ubicación: Jaén (Andalucía)
Mensajes: 893
Antigüedad: 11 años, 7 meses
Puntos: 10
Respuesta: Llamar funcion desde el div de repuesta del php

He hecho esto, me elimina la fila de la base de datos pero quiero que desaparezca de la lista. Creo que es con:


Código Javascript:
Ver original
  1. $(this).closest('tr').remove();

Pero no me sale

Código Javascript:
Ver original
  1. $(document).on("click",".borrar",function(e){
  2.      
  3.         id=$(this).closest("tr").find(".id").text();
  4.        
  5.  
  6.         $.ajax({
  7.             type: "POST",
  8.             url: "includes/delete.php",
  9.             data: { id:id }
  10.             })
  11.                     .done(function( msg ) {
  12.                        
  13.                     $(".mensaje").html(msg);
  14.                     td.html("<span>"+valor+"</span>");
  15.                     $("td:not(.id)").addClass("editable");
  16.                      $(this).closest('tr').remove();
  17.                    
  18.                 });
  19.          
  20.          });


Gracias
  #9 (permalink)  
Antiguo 23/02/2014, 14:35
Avatar de satjaen  
Fecha de Ingreso: septiembre-2012
Ubicación: Jaén (Andalucía)
Mensajes: 893
Antigüedad: 11 años, 7 meses
Puntos: 10
Respuesta: Llamar funcion desde el div de repuesta del php

No entiendo porque no he tenido una simple contestación.

Etiquetas: funcion, php
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 01:48.