Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Llenar un TextBox con el precio de productos de un combo

Estas en el tema de Llenar un TextBox con el precio de productos de un combo en el foro de Javascript en Foros del Web. Hola, Me disculpo si al presentar este tema parezco muy elemental, pero no encuentro como hacerlo. Tengo un formulario que carga en un combo (LSTproductos) ...
  #1 (permalink)  
Antiguo 16/09/2010, 11:51
Avatar de ruxee
Usuario no validado
 
Fecha de Ingreso: agosto-2002
Ubicación: USA
Mensajes: 131
Antigüedad: 22 años, 4 meses
Puntos: 7
Exclamación Llenar un TextBox con el precio de productos de un combo

Hola,

Me disculpo si al presentar este tema parezco muy elemental, pero no encuentro como hacerlo.

Tengo un formulario que carga en un combo (LSTproductos) el nombre y codigo de productos de una base de datos mySQL.

Segun el producto seleccionado quisiera que se llenara el textbox (TXTprecio) con el precio respectivo, pero este debo ir a traerlo a la tabla.

Gracias

Ya tengo el siguiente codigo que lo invoco en el OnChage del combobox, pero no he podido hacerlo funcionar.
Código PHP:
<script language="javascript">
function cargaPrecio(idProducto) {
<?php $sqlprecio="SELECT precio FROM tbl_producto WHERE id_producto="?> printf idProducto;
<?php echo $sqlprecio;
$res_sqlprecio mysql_query($sqlmode);
$row_precio mysql_fetch_array($res_precio);?>
this.form1.precio.value=<?php echo $row_precio['precio']?>
}
</script>
  #2 (permalink)  
Antiguo 16/09/2010, 13:25
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años
Puntos: 126
Respuesta: Llenar un TextBox con el precio de productos de un combo

Hola

Para eso has de usar AJAX. Tal y como pretendes hacerlo no se puede

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #3 (permalink)  
Antiguo 19/09/2010, 06:50
 
Fecha de Ingreso: octubre-2003
Ubicación: lima
Mensajes: 57
Antigüedad: 21 años, 2 meses
Puntos: 0
Respuesta: Llenar un TextBox con el precio de productos de un combo

Haber si puedo ayudarte....
1ro, al cargar el list del precio existe que lo puedes llengar algo asi
<select name="algo" id="algo">
<option value="VALOR A ASIGNAR">valor a mostrar</option>
...
</select>
Explicando... el valor a asignar es el valor que vas aponer en el tex box, y el valor a mostrar es lo que se va a leer por ejemplo.
<option value="12.90">Camisetas manga corta S/. 12.90</option>
Me explique .... ?¿
bueno, luego sigue el capturar la accion del selec que puedes ponerlo onclick que ya es una opcion mas asi que tu select quedaria
<select name="slc000" id="slc000" onclick="cargarprecio()">
Y luego en cargarprecio() que puedes hacerlo con javascrip (para no usar ajax innecesariamente, pues lo haces algo asi.
cargarprecio(){
document.getID("nombredeltexbox").value=document.g etID(document.getID("slc000").optionselect).value; // 1
}
1, esta mal echo, es que no recuerdo exactamente como se captura el value de un select. pero esa es la idea. Si te ayudo, en buena hora, si lo entendiste creo que ya te sera mas facil solucionarlo, pero si no, tengo un codigo por ai, me avisas para buscarlo.
Si bien es cierto, es simple la pregunta, pero todos empezamos asi no ... ¿?

En el codigo que muestras, creo que estas queriendo jalar el valor desde mysql con javascrip utilizando PHP ... (una mermelada de codigo), reordena tu programacion 1ro, Carga de pagina (con los datos ya jalados desde mysql con php), y luego la funcionalidad, el cargar el valor de un select eso ya con algo mas elemental como javascript, lo otro es utilizar ajax, que es mucho royo creo yo para lo que quieres hacer creo yo...
__________________
GUMER FERNANDEZ HUATUCO
--------------------------------------
Solo hay un dio$

Última edición por gumer; 19/09/2010 a las 06:54 Razón: Mejorar el comentario.
  #4 (permalink)  
Antiguo 19/09/2010, 08:22
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años
Puntos: 126
Respuesta: Llenar un TextBox con el precio de productos de un combo

Hola

Cita:
Iniciado por gumer Ver Mensaje
Haber si puedo ayudarte....
1ro, al cargar el list del precio existe que lo puedes llengar algo asi
<select name="algo" id="algo">
<option value="VALOR A ASIGNAR">valor a mostrar</option>
...
</select>
Explicando... el valor a asignar es el valor que vas aponer en el tex box, y el valor a mostrar es lo que se va a leer por ejemplo.
<option value="12.90">Camisetas manga corta S/. 12.90</option>
Me explique .... ?¿
bueno, luego sigue el capturar la accion del selec que puedes ponerlo onclick que ya es una opcion mas asi que tu select quedaria
<select name="slc000" id="slc000" onclick="cargarprecio()">
Y luego en cargarprecio() que puedes hacerlo con javascrip (para no usar ajax innecesariamente, pues lo haces algo asi.
cargarprecio(){
document.getID("nombredeltexbox").value=document.g etID(document.getID("slc000").optionselect).value; // 1
}
1, esta mal echo, es que no recuerdo exactamente como se captura el value de un select. pero esa es la idea. Si te ayudo, en buena hora, si lo entendiste creo que ya te sera mas facil solucionarlo, pero si no, tengo un codigo por ai, me avisas para buscarlo.
Si bien es cierto, es simple la pregunta, pero todos empezamos asi no ... ¿?

En el codigo que muestras, creo que estas queriendo jalar el valor desde mysql con javascrip utilizando PHP ... (una mermelada de codigo), reordena tu programacion 1ro, Carga de pagina (con los datos ya jalados desde mysql con php), y luego la funcionalidad, el cargar el valor de un select eso ya con algo mas elemental como javascript, lo otro es utilizar ajax, que es mucho royo creo yo para lo que quieres hacer creo yo...
Toda esta explicación está relativamente bien: El problema, como me pasa a mí en infinidad de ocasiones, es que no has leido bien
Cita:
Tengo un formulario que carga en un combo (LSTproductos) el nombre y codigo de productos de una base de datos mySQL.

Segun el producto seleccionado quisiera que se llenara el textbox (TXTprecio) con el precio respectivo, pero este debo ir a traerlo a la tabla.
Si no hace una nueva consulta a la bd, no podrá obtener el precio
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #5 (permalink)  
Antiguo 19/09/2010, 10:14
 
Fecha de Ingreso: octubre-2003
Ubicación: lima
Mensajes: 57
Antigüedad: 21 años, 2 meses
Puntos: 0
Respuesta: Llenar un TextBox con el precio de productos de un combo

Efectivamente Adler, tu respuesta es la adecuada, correcta y minima necesaria, tan solo quise aportar una alternativa de solución al problema, no una corrección a la solución, espero que esto no sea malo ... ¿?
__________________
GUMER FERNANDEZ HUATUCO
--------------------------------------
Solo hay un dio$

Última edición por gumer; 19/09/2010 a las 10:40 Razón: Mala Orientación.
  #6 (permalink)  
Antiguo 19/09/2010, 12:13
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años
Puntos: 126
Respuesta: Llenar un TextBox con el precio de productos de un combo

Hola

Cita:
Iniciado por gumer Ver Mensaje
Efectivamente Adler, tu respuesta es la adecuada, correcta y minima necesaria, tan solo quise aportar una alternativa de solución al problema, no una corrección a la solución, espero que esto no sea malo ... ¿?
¿Malo? Al contrario, continua aportando ideas. Solo te rebatí por que @ruxee lo intentaría de la manera que mencionaste, que dicho sea de paso, sería una forma correcta e eficiente, en otra situación, pero que en esta, podría desesperarse al no lograr lo que le ocupa..
En cuanto a una respuesta mínima, en ocasiones es mucho mas conveniente, cuanto mas que es un tema que no concierne al lenguaje que tratar en este foro
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #7 (permalink)  
Antiguo 01/10/2010, 09:56
Avatar de ruxee
Usuario no validado
 
Fecha de Ingreso: agosto-2002
Ubicación: USA
Mensajes: 131
Antigüedad: 22 años, 4 meses
Puntos: 7
Respuesta: Llenar un TextBox con el precio de productos de un combo


Gracias a ambos, me ayudo mucho la interpretacion y la modifique un poco. Aqui les describo que fue lo que hice:
  1. Defini el SELECT cargado los productos, id y precio de la tabla respectiva
  2. En el OPTION VALUE concateno el id del producto (rellenado de ceros a la izquierda para mantener una misma dimension) con el precio
  3. En el evento OnChange cargo una funcion Java que se llama cargaPrecio y le mando de parametro THIS.VALUE (el valor seleccionado)
  4. cargaPrecio descompone el parametro enviado en dos valores
  5. El primero de ellos es el substring del precio, que va desde el 11vo caracter hasta el fin del string
  6. El segundo, es un substring desde el inicio hasta la posicion 11va que luego lo convierto a un PARSEFLOAT, este es el id del producto
  7. Por supuesto ambos valores los cargo a su respectivo campo texto, donde uno tiene el codigo del producto y el otro su precio

Aqui les muestro como cargo el SELECT
Código HTML:
<select name="producto" id="producto" onchange="cargaPrecio(this.value)">
      <option value="0" selected="selected">Seleccione</option>
      <?php $sql_producto = "SELECT id_producto,producto,precio FROM producto ORDER BY producto";
      $sql_result_producto = mysql_query($sql_producto);
      while($row_prod = mysql_fetch_array($sql_result_producto)){?>
          <option value="<?php echo str_pad($row_prod['id_producto'],11,'0',STR_PAD_LEFT).$row_prod['precio'];?>"><?php echo $row_prod['producto'];?></option>
      <?php }?></select> 
Aqui esta la funcion cargaPrecio
Código:
<script language="javascript">
function cargaPrecio(IdSelect){
    document.form1.TXTventa.value = IdSelect.substring(11,22);
    document.form1.TXTid_producto.value = parseFloat(IdSelect.substring(1,11));
    return;
}
</script>
No se si sera la forma mas eficiente de hacerlo pero no se me ocurrio otra, por lo que acepto sugerencias.

Etiquetas: combo, llenar, precio, productos, textbox
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 18:14.