Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problema con formulario al actualizar combobox

Estas en el tema de Problema con formulario al actualizar combobox en el foro de PHP en Foros del Web. Buenas, estoy acabando una tienda en Virtuemart, he intentado cambiar el textedit de la cantidad y boton actualizar por un combobox que se actualice automaticamente. ...
  #1 (permalink)  
Antiguo 18/03/2013, 05:11
 
Fecha de Ingreso: mayo-2004
Mensajes: 38
Antigüedad: 20 años, 6 meses
Puntos: 1
Problema con formulario al actualizar combobox

Buenas, estoy acabando una tienda en Virtuemart, he intentado cambiar el textedit de la cantidad y boton actualizar por un combobox que se actualice automaticamente.

Cuando tengo solo un producto en el carro funciona perfectamente, pero cuando tengo mas de uno no hace nada de nada.

Os adjunto el codigo a ver si podeis echarme una mano.

Código PHP:
    <form action="<?php echo JRoute::('index.php'); ?>" method="post" class="inline" name="frm">
        <input type="hidden" name="option" value="com_virtuemart"/>


        <input type="text" title="<?php echo  JText::('COM_VIRTUEMART_CART_UPDATE'?>.2" class="inputbox" size="3" maxlength="4" name="quantity" value="<?php echo $prow->quantity ?>" style="display:none;"/>
                <select name="cantidad" id="cantidad" onchange="getval(this);"  value="<?php echo $prow->quantity ?>" title="<?php echo  JText::('COM_VIRTUEMART_CART_UPDATE'?>">   <script type="text/javascript">
                function getval(sel) {
                   document.frm.quantity.value = (sel.value);
                   document.getElementById('actualizar').click();
                }
            </script>
                <option  value="<?php echo $prow->quantity ?>"><?php echo $prow->quantity ?></option>
            <option value="1">1</option>
            <option value="2">2</option>
            <option value="3">3</option>
            <option value="4">4</option>
            <option value="5">5</option>
            <option value="6">6</option>
            <option value="7">7</option>
            <option value="8">8</option>
            <option value="9">9</option>
            <option value="10">10</option>
            <option value="11">11</option>
            <option value="12">12</option>
            <option value="13">13</option>
            <option value="14">14</option>
            <option value="15">15</option>
            <option value="16">16</option>
            <option value="17">17</option>
            <option value="18">18</option>
            <option value="19">19</option>
            <option value="20">20</option>
        </select>           
        <input type="hidden" name="view" value="cart"/>
        <input type="hidden" name="task" value="update"/>
        <input type="hidden" name="cart_virtuemart_product_id" value="<?php echo $prow->cart_item_id  ?>"/>
        <input type="submit" class="vmicon vm2-add_quantity_cart" id="actualizar" name="update" title="<?php echo  JText::('COM_VIRTUEMART_CART_UPDATE'?>" align="middle" value=" " style="display:none;"/>

    </form>
Gracias.
  #2 (permalink)  
Antiguo 19/03/2013, 12:46
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: Problema con formulario al actualizar combobox

Tienes un <script /> dentro del <select /> e imagino que creas la función getval() para cada campo y eso te genera un error en javascript.

Debes colocar esa función fuera del ciclo donde creas los <select /> y con eso se debe corregir el problema.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 20/03/2013, 08:12
 
Fecha de Ingreso: mayo-2004
Mensajes: 38
Antigüedad: 20 años, 6 meses
Puntos: 1
Respuesta: Problema con formulario al actualizar combobox

Al final lo solucione asi:

Código PHP:
<form action="<?php echo JRoute::('index.php'); ?>" method="post" class="inline" name="frm<?php echo $j ?>">
            <input type="hidden" name="option" value="com_virtuemart"/>
    
                
            <input type="text" title="<?php echo  JText::('COM_VIRTUEMART_CART_UPDATE'?>.2" class="inputbox" size="3" maxlength="4" name="quantity" value="<?php echo $prow->quantity ?>" style="display:none;"/>
                    <select name="cantidad" id="cantidad" onchange="getval<?php echo $j ?>(this);"  value="<?php echo $prow->quantity ?>" title="<?php echo  JText::('COM_VIRTUEMART_CART_UPDATE'?>">
                    <option  value="<?php echo $prow->quantity ?>"><?php echo $prow->quantity ?></option>
                <option value="1">1</option>
                <option value="2">2</option>
                <option value="3">3</option>
                <option value="4">4</option>
                <option value="5">5</option>
                <option value="6">6</option>
                <option value="7">7</option>
                <option value="8">8</option>
                <option value="9">9</option>
                <option value="10">10</option>
                <option value="11">11</option>
                <option value="12">12</option>
                <option value="13">13</option>
                <option value="14">14</option>
                <option value="15">15</option>
                <option value="16">16</option>
                <option value="17">17</option>
                <option value="18">18</option>
                <option value="19">19</option>
                <option value="20">20</option>
            </select>            
            <input type="hidden" name="view" value="cart"/>
            <input type="hidden" name="task" value="update"/>
            <input type="hidden" name="cart_virtuemart_product_id" value="<?php echo $prow->cart_item_id  ?>"/>
            <input type="submit" class="vmicon vm2-add_quantity_cart" id="actualizar" name="update" title="<?php echo  JText::('COM_VIRTUEMART_CART_UPDATE'?>" align="middle" value=" " style="display:none;"/>
            <script type="text/javascript">
                    function getval<?php echo $j ?>(sel) {
                       document.frm<?php echo $j ?>.quantity.value = (sel.value);
                       document.frm<?php echo $j ?>.submit()
                    }
                </script>
        </form>
  #4 (permalink)  
Antiguo 20/03/2013, 13:49
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: Problema con formulario al actualizar combobox

En realidad no es necesaria una función javascript para cada <select /> con una que reciba el índice de campo actual sería suficiente. Y no me queda muy claro porqué al cambiar un valor se autoenvía el formulario.
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: combobox, formulario, 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 21:47.