Foros del Web » Programando para Internet » Jquery »

asociar respuesta json de forma individual a divs cargados dinamicamente?

Estas en el tema de asociar respuesta json de forma individual a divs cargados dinamicamente? en el foro de Jquery en Foros del Web. que tal foreros? veran... estoy trabajando en el modulo de denuncia para comentarios mal intencionados en mi web, dichos comentarios son cargados via php de ...
  #1 (permalink)  
Antiguo 20/02/2016, 11:20
 
Fecha de Ingreso: diciembre-2015
Mensajes: 115
Antigüedad: 8 años, 11 meses
Puntos: 2
Pregunta asociar respuesta json de forma individual a divs cargados dinamicamente?

que tal foreros? veran... estoy trabajando en el modulo de denuncia para comentarios mal intencionados en mi web, dichos comentarios son cargados via php de forma dinamica cada uno con su respectivo id... al enviar el form de denuncia tengo el siguiente script que devuelve una respuesta json en el comentario donde el boton fue presionado:

Código:
<script>
    $('.form-denunciar').submit(
    function() {
        $.ajax({
            type: 'POST',
            url: $(this).attr('action'),
            dataType: 'JSON',
            data: $(this).serialize(),
            success: function(data) {

                                                $('.status[]').html(data).fadeIn('slow');
            }
        })
        return false;
    }); 
})  
</script>
y esta la estructura div que se va cargando conforme se ingresan comentarios:

Código HTML:
<div class="comentario"> 
<form class="form-denunciar" action="denunciar.php" method="post">
Denunciar <button class="icon-block" name"denunciar-comentario </button>

<input hidden="hidden" type="text" name="denunciado"  id="denunciado" value="'.$d['usuario'].'" >
<input hidden="hidden" type="text" name="email" id="denunciado-email" value="'.$d['email'].'" >  

<div id="status" class="status"></div>
</form>

</div> 
el problema está en que al hacer el submit del form... la respuesta json resultante se muestra en todos los comentarios existentes y no unicamente en el comentario donde el boton de denuncia fue presionado...

alguna idea para asignar la respuesta de forma individual a un div en cuestion? tengo entendido que se podria resolver con jquery, tambien he oido acerca de arrays dinamicos pero no tengo claro como hacerlo

Última edición por kukiko11; 20/02/2016 a las 11:52
  #2 (permalink)  
Antiguo 22/02/2016, 08:35
 
Fecha de Ingreso: diciembre-2015
Ubicación: rosario
Mensajes: 69
Antigüedad: 8 años, 11 meses
Puntos: 5
Respuesta: asociar respuesta json de forma individual a divs cargados dinamicamente?

Debe utilizar el puntero this para q solo afecte a ese comentario, ej:
Código Javascript:
Ver original
  1. <script>
  2.     $('.form-denunciar').submit(
  3.     function() {
  4.         $.ajax({
  5.             type: 'POST',
  6.             url: $(this).attr('action'),
  7.             dataType: 'JSON',
  8.             data: $(this).serialize(),
  9.             success: function(data) {
  10.                    //no olvides de quitarle el id="status" a este div
  11.                   $(this).children('div.status').html(data).fadeIn('slow');
  12.             }
  13.         })
  14.         return false;
  15.     });
  16. })  
  17. </script>
  #3 (permalink)  
Antiguo 22/02/2016, 10:07
 
Fecha de Ingreso: diciembre-2015
Mensajes: 115
Antigüedad: 8 años, 11 meses
Puntos: 2
Pregunta Respuesta: asociar respuesta json de forma individual a divs cargados dinamicamente?

lo hice de esa forma pero no me esta devolviendo la data, el boton funciona es decir cumple lo que debe hacer, pero no se nota la respuesta... este es el archivo php de donde viene la data respuesta:

Código PHP:
<?php
session_start
();
//incluimos la conexion a la base de datos y las configuraciones de seguridad
include "connect.php";


//declaramos variables para la data enviada por el boton de denuncia
    
$denunciado $_POST['denunciado'];
    
$correo $_POST['email'];

     
$sql mysql_query("INSERT INTO `denunciados`( `nombre`, `email`) VALUES ('$denunciado','$correo')" );

 
//si se cumple la insercion de los datos, se notifica al usuario
     
if ($sql) {

     echo (
json_encode('Reporte recibido, lo tomaremos en cuenta | ')); 
 
//de lo contrario, se indica un error
     
}else{
     echo (
json_encode('Error con el servidor, intente mas tarde')); 
     }
?>
y si, elimine el id del div le deje solo la clase
que sera que esta fallando?
  #4 (permalink)  
Antiguo 23/02/2016, 10:07
 
Fecha de Ingreso: diciembre-2015
Mensajes: 115
Antigüedad: 8 años, 11 meses
Puntos: 2
Pregunta Respuesta: asociar respuesta json de forma individual a divs cargados dinamicamente?

Cita:
Iniciado por infoturnosya Ver Mensaje
Debe utilizar el puntero this para q solo afecte a ese comentario, ej:
Código Javascript:
Ver original
  1. <script>
  2.     $('.form-denunciar').submit(
  3.     function() {
  4.         $.ajax({
  5.             type: 'POST',
  6.             url: $(this).attr('action'),
  7.             dataType: 'JSON',
  8.             data: $(this).serialize(),
  9.             success: function(data) {
  10.                    //no olvides de quitarle el id="status" a este div
  11.                   $(this).children('div.status').html(data).fadeIn('slow');
  12.             }
  13.         })
  14.         return false;
  15.     });
  16. })  
  17. </script>
no me resulto, osea no me devuelve la data, el boton cumple su funcion pero no se genera la respuesta json o no la muestra
  #5 (permalink)  
Antiguo 23/02/2016, 11:35
 
Fecha de Ingreso: diciembre-2015
Ubicación: rosario
Mensajes: 69
Antigüedad: 8 años, 11 meses
Puntos: 5
Respuesta: asociar respuesta json de forma individual a divs cargados dinamicamente?

fijate de hacer un console.log($(this).children('div.status')) para saber si estamos buscando bien a ese elemento, o si no hace esto
$(this).children('div.status').html('mostrando datos...').fadeIn('slow');
Le pones un valor duro para saber si lo instanciamos bien al objeto.
  #6 (permalink)  
Antiguo 23/02/2016, 22:02
 
Fecha de Ingreso: diciembre-2015
Mensajes: 115
Antigüedad: 8 años, 11 meses
Puntos: 2
Pregunta Respuesta: asociar respuesta json de forma individual a divs cargados dinamicamente?

Cita:
Iniciado por infoturnosya Ver Mensaje
fijate de hacer un console.log($(this).children('div.status')) para saber si estamos buscando bien a ese elemento, o si no hace esto
$(this).children('div.status').html('mostrando datos...').fadeIn('slow');
Le pones un valor duro para saber si lo instanciamos bien al objeto.

ok el console como tal me indica:
Object { length: 0, prevObject: Object, context: undefined }

que el objeto esta indefinido

Etiquetas: ajax-php, javascript
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 20:32.