Foros del Web » Programando para Internet » PHP »

Input de un form con datos calculados de otros inputs

Estas en el tema de Input de un form con datos calculados de otros inputs en el foro de PHP en Foros del Web. Muy buenas, como andais? Yo con el agua al cuello ;) Tengo un formulario, para dar de alta pedidos de una empresa y, el importe ...
  #1 (permalink)  
Antiguo 25/06/2004, 07:04
Avatar de oskitar  
Fecha de Ingreso: junio-2002
Mensajes: 245
Antigüedad: 15 años, 5 meses
Puntos: 1
Input de un form con datos calculados de otros inputs

Muy buenas, como andais?

Yo con el agua al cuello ;)

Tengo un formulario, para dar de alta pedidos de una empresa y, el importe de esos pedidos, kiero k se calcule al meter datos en los inputs pertenecientes a cantidad y precio, es decir, en el input importe, k salga el producto de los otros dos. Sabríais como hacerlo?

Así va este formulario :

<form method="post" action="<?php echo $PHP_SELF ?>">

<input type="Text" name="cant">
<input type="Text" name="price">
<input type="Text" name="importe">
<input type="submit" name="enviar" value="Aceptar información">
</form>

Luego todo esto se mira con un if($enviar)... y debajo el insert y tal y cual.

Necesito k en el input importe aparezca value="$cant*$price" al rellenar esos dos datos....

saludos y gracias
  #2 (permalink)  
Antiguo 25/06/2004, 11:25
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Tendras que recargar la página generando nuevamente ese formulario y donde tienes tu input darle el value adecuado:

Código PHP:
<form method="post" action="<?php echo $PHP_SELF ?>">

<input type="Text" name="cant">
<input type="Text" name="price">
<input type="Text" name="importe" value=<? echo $importe ?>>
<input type="submit" name="enviar" value="Aceptar información">
</form>
if ($enviar){
// tus insert .. etc ...
// redireccionas a tu formulario y le pasas el importe calculado ..
header ("Location: $PHP_SELF?importe=$cant*$price");
exit;
}
Consejos:
1) usa method en tu formulario y define uno .. sea GET o POST (actualmente como lo defines se asume GET.
2) usa los arrays superglobales (si usas PHP 4.1.0 o superior): $_GET, $_POST .. etc según corresponda (por tu seguridad .. revisa las primeras FAQ's de este foro PHP).

3) .. Si tu "cant" y "price" se va a introducir manualmente esos datos .. ¿por qué no haces ese cálculo en el "cliente" vía Javascript?. Así te evitas estar recargando la página y .. a todo esto según está harías tu "insert" a tu BD y luego presentas el cálculo ¿que pasa si me equivoqué .. y el total no es lo que espero? ..

Un saludo,


Un saludo,
  #3 (permalink)  
Antiguo 26/06/2004, 04:53
Avatar de oskitar  
Fecha de Ingreso: junio-2002
Mensajes: 245
Antigüedad: 15 años, 5 meses
Puntos: 1
buenas, cluster, como lo llevas? gracias por responder...

si lo hago con javascript, se rellenará automáticamente el input importe al meter cant y price,no? y luego t refieres a k muestre: "El total es tanto, desea aceptarlo? con unos alert y tal,no?

voy a investigar por ahí...... saludos
  #4 (permalink)  
Antiguo 28/06/2004, 09:38
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pues .. si, el total ya lo verá ahí mismo .. si requires de confirmación extra OK, pero por lo menos ya lo está viendo antes de dar al botón "submit" de tu formulario con el consiguiente ahorro de trasferencia al no enviar/recibir una página completa de vuelta con ese simple cálculo.

Eso sí, .. en PHP (en tu script) realiza el cálculo nuevamente para ingresarlo en tu BD como el "total" .. nunca almacenes ese "total" que muestres .. sino, no faltará el "listo" que ponga un total X que no sea realmente el resultado de A*B ...

Un saludo,
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 16:47.