AJAX - onclick no llama javascript

 
Vista:
sin imagen de perfil

onclick no llama javascript

Publicado por Milton (3 intervenciones) el 12/05/2017 04:53:54
Hola a todos... agradezco si me pueden ayudar, pues llevo dos días y definitivamente no se que pasa. Hice pruebas por aparte y funcionó, pero al llevarlo a las solución definitiva no anda... ¿porque?

Adjunto los archivos de la prueba que función en un Zip.

Se trata de un tienda virtua que muestra los productos a la venta y mediante botones sobre la imagen de los mismos permite hacer acciones... entre estas ver una ficha técnica del producto.

La ficha tecnica del producto es otra imagen jpg, la cual trato de levantar en una ventana modal (esto es lo que falla).

Al parecer no función el onclick, pues no llama la función con el Ajax.

Función Ajax (funciones.js):
1
2
3
4
5
6
7
8
9
10
11
12
13
function carga_ajax(id,div,url)
        {
          // alert(ruta );
           $.post
            (
                url,
                {id:id},
                function(resp)
               {
                    $("#"+div+"").html(resp);
               }
            );
}



Ventana modal (fichamodal.php):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<!-- ****************************** Ficha Técnica ******************************  -->
<div id="fichaModal" class="modal fade" tabindex="-1" role="dialog" aria-hidden="true">
	<div class="modal-dialog" role="document">
    <div class="modal-content">
        <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
            <h4 class="modal-title" id="myModalLabel">Ficha Técnica</h4>
        </div>
        <div class="modal-body">
             <img src="<?php echo "tec_pre/".$_POST["id"];?>" alt="Ficha Técnica" class="img-responsive"/>
        </div>
    </div>
    </div>
</div>
<!---- ---->


fragmento php del boton para ver la ficha tecnica (producto.php):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<?php
$pres='';
foreach ($aData['presentaciones'] as $key => $f) {
	if ($f['can_pre']>0)
		//<div class="stamp green">New</div>
        $agotado='';
	else
		$agotado='<div class="stamp red">No</div>';
 
	$funcionjs="cargar_ajax("."'".$f['img_pre']."'".","."'"."fichaModal"."'".","."'".URL.VIEWS.DFT."fichaModal.php"."')";
    $pres.='<form method="post" id="form'.$f['id_pre'].'">
        <div class="span3 isotope--target filter--'.$f['id_art'].'" data-brand="m'.$f['id_mar'].'" data-price="'.$f['pre_ven'].'" data-popularity="1" data-size="l|xl|xxl" data-color="purple">
			<div class="product">
				<div class="product-inner">
					'.$agotado.'
					<div class="product-img">
						<div class="picture">
							<a href="#">
								<img style="width:220px;height:200px;" alt="'.$f['nom_pro'].'" src="'.URL.VIEWS.DFT.IMGPRE.$f['img_pre'].'"/>
							</a>
		                    <div class="img-overlay">
                                <a class="btn more btn-info" href="#" data-toggle="modal" data-target="#fichaModal" onclick="'.$funcionjs.');">Ver más</a>
                                <input type="number" id="nume'.$f['id_pre'].'" class="btn more btn-primary" name="can_pxd" value="0" style="width:50px">
		                        <a class="btn buy btn-danger btnAjax" href="#" data-nume="'.$f['id_pre'].'" data-form="'.$f['id_pre'].'" data-view="'.URL.'Index/carrito">
                                    + Carrito
                                </a>
		                    </div>
						</div>
					</div>
					<div class="main-titles no-margin"> 
						<h4 class="title">$'.number_format($f['pre_ven']).'</h4>
						<h5 class="no-margin isotope--title">'.ucwords(mb_strtolower(utf8_encode($f['nom_pro']))).'</h5>
					</div>
	            </div>
			</div>
		</div>
        <input type="hidden" name="id_pre" value="'.$f['id_pre'].'">
        <input type="hidden" name="nom_pro" value="'.ucwords(mb_strtolower(utf8_encode($f['nom_pro']))).'">
        <input type="hidden" name="pre_ven" value="'.$f['pre_ven'].'">
        <input type="hidden" name="iva_pre" value="'.$f['iva_pre'].'">
        <input type="hidden" name="id_pro" value="'.$f['id_pro'].'">
        <input type="hidden" name="img_pre" value="'.URL.VIEWS.DFT.IMGPRE.$f['img_pre'].'">
    </form>';
}
echo $pres;
El sitio en desarrollo puede verse en NaturalmenteMas.com.

Saludos,
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de [abZeroX]
Val: 72
Oro
Ha mantenido su posición en AJAX (en relación al último mes)
Gráfica de AJAX

onclick no llama javascript

Publicado por [abZeroX] (17 intervenciones) el 13/05/2017 08:05:29
Hola Milton, el ejemplo que adjuntas funciona perfecto. Respecto a la página de que manera registras el evento click de las imágenes de los productos ? podes compartirnos la sección del código que estas utilizando.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

onclick no llama javascript

Publicado por Milton (3 intervenciones) el 14/05/2017 00:16:27
Hola abZeroX,

La invocación al onclick que parece no responder está en la línea 22. del fragmento php del boton para ver la ficha tecnica (producto.php):

<a class="btn more btn-info" href="#" data-toggle="modal" data-target="#fichaModal" onclick="'.$funcionjs.');">Ver más</a>

$funciónjs, se construye en la línea 10 del mismo fragmento:

$funcionjs="cargar_ajax("."'".$f['img_pre']."'".","."'"."fichaModal"."'".","."'".URL.VIEWS.DFT."fichaModal.php"."')";

Gracias,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de [abZeroX]
Val: 72
Oro
Ha mantenido su posición en AJAX (en relación al último mes)
Gráfica de AJAX

onclick no llama javascript

Publicado por [abZeroX] (17 intervenciones) el 14/05/2017 04:09:21
Hola , la linea 10 esta correcta, no logro entender porque no asigna el evento.
Solo tengo una observación y es como nombras a la funciona que se ejecuta cuando se desencadena el evento, es decir que en el código que compartes cuando defines la función la nombras como carga_ajax (funciones.js) y en la asignación del evento la nombras como cargar_ajax - producto.php, capaz este sea el problema.

Comprueba esto y nos comentas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

onclick no llama javascript

Publicado por Milton (3 intervenciones) el 14/05/2017 05:19:03
Ahhhhh.... Es posible.

Voy a corregir y te cuento.

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar