Foros del Web » Programando para Internet » PHP »

Javascript tomando un ID de PHP

Estas en el tema de Javascript tomando un ID de PHP en el foro de PHP en Foros del Web. Buenas tardes compañeros, tengo un problema con el cual ya llevo una semana resolviéndolo haciendo pruebas y un error me lleva a otro, yo creo ...
  #1 (permalink)  
Antiguo 11/04/2016, 15:16
pako1707
Invitado
 
Mensajes: n/a
Puntos:
Pregunta Javascript tomando un ID de PHP

Buenas tardes compañeros, tengo un problema con el cual ya llevo una semana resolviéndolo haciendo pruebas y un error me lleva a otro, yo creo que es algo sencillo pero no he logrado tomar bien la lógica, les cuento:

Hago un carrito de compras, y al momento de seleccionar la cantidad de productos quiero que me haga la multiplicación de precio del producto por la cantidad,


Efectivamente ya puedo mostrar la multiplicación del primer producto, pero al momento que quiero hacer la multiplicación de los demás campos no aparece el resultado.



Tengo la siguiente clase de Javasript:

Código:
function multiplic(id_product)
 {
 var total = 0;
 var valor1 = document.getElementById("quantity"+"10-1011-MX-30MU").value;
 var valor2 = document.getElementById("order_price"+"10-1011-MX-30MU").value;

 total = (valor1 * valor2);

 var Display = document.getElementById("Display"+"10-1011-MX-30MU");
 Display.innerHTML = total;
 }
y en el PHP tengo lo siguiente:

Código PHP:
        <?php    
           

        $contador 
0;
        
$prev_product '';                        

        foreach (
$products as $product){
            foreach (
$product as $field){

                
$id_product  '';
                
$img_product '';
                
$id_category '';
                
$web_name    '';

                
$id_product  $field[$contador]->ProductNumber;
                
$img_product $field[$contador]->LargePictureURL;
                
$id_category $field[$contador]->GroupString;
                
$web_name    $field[$contador]->WebName;
                
$points      $field[$contador]->PSVAmount;
                
                
                
/*if($activesesion == 0){ 
                    $preciov = $field[$contador]->RetailPrice;
                }else{
                    $preciov = $field[$contador]->WholesalePrice;
                }*/

                
if($activesesion == 0){ 
                    
$preciov $field[$contador]->RetailPrice;
                }else{
                    
$preciov $field[$contador]->RetailPrice;
                }

                if (
$id_category == '103.104'
                    
$category 'productos';
                if (
$id_category == '103.106'
                    
$category 'reto';
                if (
$id_category == '103.109'
                    
$category 'articulos';                                        
                if (
$id_category == '103.70'
                    
$category 'shake';                    
                if (
$id_category == '103.73'
                    
$category 'cleanse';
                if (
$id_category == '103.74'
                    
$category 'power';

                if ( 
$id_product != '' and $id_category != '') {

                    if(
$pais == or $pais == 0)
                        
$priced round((float)$preciov*$TIPOCAMBIO2);
                    if(
$pais == 2)
                        
$priced round((float)$preciov2);

                    echo 
"<form id='formulario' method='POST' action='#1'>";

                    
$popup "javascript:ventanaSecundaria";

                    echo 
"<div id='prods'>";
                    echo 
"<a href=".$popup."('product.php?pais=".$pais."&id_cat=".$CATALOGID."&id_product=".$id_product."&id_category=".$id_category."') 'width='780' height='540' target='_blank' ><div class='".$category."'>";

                    
//DIVIDIDOR DE CATEGORÍAS
                    //echo "<a href='product.php?pais=".$pais."&id_cat=".$CATALOGID."&id_product=".$id_product."&id_category=".$id_category."' target='_blank' ><div class='isotopeSelector ".$category."'>";


                        //echo "<article class='producto'>";
                            //echo "<figure>";
                                //echo "<a title='First Image' class='fancybox-pop' rel='".$category."' href='index.php'></a>
                                //echo "<img src='".$img_product."' alt=''>";
                                //echo "<div class=''>";
                                    
echo "<div class='separ'>";
                                        
//echo "<div class='separ2'>".$id_product."</div>";     
                                        
echo $field[$contador]->WebName;    
                                echo 
"</div></a>";
                                
//echo "<div class='hid'>";

                                  //      echo "<div class='cont-hid'>";
                                        //echo "<ul >";
                                    
echo "<div class='separ2'>";
                                             echo 
$points;
                                             echo 
" puntos"
                                echo 
"</div>";
                                        
//echo "</ul>";

                                        
echo "<div class='separ3'>";
                                if(
$pais == or $pais == 0)
                                    echo 
"MXN $ ".number_format($priced,2)."";
                                if(
$pais == 2)
                                    echo 
"<div class='title-port blod'> USD $ ".number_format($priced,2)."</div>";
                                echo 
"</div>";

                                        
// DIV BOTÓN

                                        
echo "<div class='separ4'>";
                                        echo 
"<div class='celda4 celdad'>";
                                            
//echo "<input type='button' value='-' class='qtyminus' field='quantity' onclick='calculateimport(quantity.value,".$priced.",2);' style='width:33%;' />";
                                            
echo "<input type='text' onkeyup='multiplic()' name='quantity' id='quantity".$id_product."' value='0' class='qty' size='10px'/>";
                                            
//echo "<input type='button' value='+' class='qtyplus' field='quantity' onclick='calculateimport(quantity.value,".$priced.",1);' style='width:33%;'/>";


                                        
echo "</div>";


                                            
//catalog
                                            
echo "<input type='hidden' id='order_catalog' name='order_catalog' value='".$CATALOGID."'/>";
                                            
                                            
//productnumber
                                            
echo "<input type='hidden' id='order_idproduct' name='order_idproduct' value='".$id_product."'/>";
                        
                                            
//productimg
                                            
echo "<input type='hidden' id='order_productname' name='order_productname' value='".$web_name."'/>";
                        
                                            
//idcategory
                                            
echo "<input type='hidden' id='order_idcategory' name='order_idcategory' value='".$idcategory_webs."'/>";
                        
                                            
//price
                                            
echo "<input type='hidden' id='order_price".$id_product."' onkeyup='multiplic()' name='order_price' value='".$priced."' />";  
                        

                                            
//echo "<input type='hidden' id='order_price' onkeyup'multiplic(order_idproduct)' name='order_price' value='".$priced."'>";  

                                      //  echo "</div>";
                                        
echo "</div>";

                                        echo 
"<div class='separ5'>";
                                        echo 
"<div class='celda4 celdad'>";                    
                        
                                            
//echo "<input type='text' name='subtotal' id='subtotal' size='10' class='qty' value='MXN ".$priced."' readonly />";
                                        
echo "<span id='Display".$id_product."'></span>";

                                        echo 
"</div>";
                                        echo 
"</div>";


                                   echo 
"</div>";
                                
//echo "</div>";
                            //echo "</figure>";
                        //echo "</article>";

                    
echo "<button class='btn btn-5 btn-5b icon-cart'><span id='".$id_product."'>AÑADIR</span></button>";
                    echo 
"</form>";
                    echo 
"</div>";



                }

            } 


        }


        
?>
O sea, hay un ciclo que me muestra el SPAN de cada uno de los productos, pero al final de la consulta solo me muestra el primer producto multiplicado.

NOTA: Ahí en el Javascript ya tiene una ID que yo puse "10-1011-MX-30MU", entonces si pongo solo id_product no me arroja ningún resultado...

Cuando lo pongo así en la consola de errores me marca un error de que falta un paréntesis... y no logro resolverlo, ojalá me puedan ayudar amigos, se los agradecería muchísimo
  #2 (permalink)  
Antiguo 12/04/2016, 03:35
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: Javascript tomando un ID de PHP

Buenas,

A la hora de llamar a la función js, te falta un parámetro...

Por ejemplo:
Código PHP:
echo "<input type='text' onkeyup='multiplic(\'".$id_product."\')' name='quantity' id='quantity".$id_product."' value='0' class='qty' size='10px'/>"
Con eso, deberías recibir el id en id_product en tu función JS, y ponerla dinámica:

Código Javascript:
Ver original
  1. function multiplic(id_product)
  2.  {
  3. console.log("Id del producto: " + id_product);
  4.  var total = 0;
  5.  var valor1 = document.getElementById("quantity"+id_product).value;
  6.  var valor2 = document.getElementById("order_price"+id_product).value;
  7.  
  8.  total = (valor1 * valor2);
  9.  
  10.  var Display = document.getElementById("Display"+id_product);
  11.  Display.innerHTML = total;
  12.  }
__________________
>> Eleazan's Source
>> @Eleazan
  #3 (permalink)  
Antiguo 13/04/2016, 08:56
pako1707
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Javascript tomando un ID de PHP

Muchas gracias por tu respuesta Eleazan, lo voy a probar, lo que pasa es que sí puse la variable de PHP dentro de los paréntesis, pero no lo hice de esa forma usando las diagonales, en un momento te cuento!
  #4 (permalink)  
Antiguo 13/04/2016, 10:09
pako1707
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Javascript tomando un ID de PHP

Efectivamente ya no mostró el error del paréntesis, pero aún sigue sin multiplicar, ahora ya ninguno, ni el primero, la consola no me muestra algún error entendible para mí para poder debuggear, , muestra ésto:



¿Me podrías ayudar?

Gracias por lo anterior!

Etiquetas: formulario, html, javascript, select
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 00:11.