Foros del Web » Programando para Internet » Javascript »

como calcular en tiempo real

Estas en el tema de como calcular en tiempo real en el foro de Javascript en Foros del Web. hola mi pregunta es como calculo esto: neto: iva% total iva total y que sea en tiempo real, es decir cuan yo meta una cantidad ...
  #1 (permalink)  
Antiguo 02/06/2004, 13:29
 
Fecha de Ingreso: marzo-2004
Mensajes: 271
Antigüedad: 20 años, 8 meses
Puntos: 0
como calcular en tiempo real

hola mi pregunta es como calculo esto:

neto:
iva%
total iva
total
y que sea en tiempo real, es decir cuan yo meta una cantidad en neto y un porcentaje en iva% ella solito me calcule el total iva y el total.

yo tengo hecho un calculo que utilizo dos paginas una seria calculo.php y la otra es calculo1.php.

pero seria posible hacerlo en la misma pagina y que fuera en tiempo real y ademas esos datos debo de introducirlo en una base de dato.
  #2 (permalink)  
Antiguo 02/06/2004, 15:58
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Si lo quieres en "tiempo real" (según modificas el valor de uno de esos campos de tu formulario HTML) debes hacerlo en javscript .. y si quieres re-calcularlo en PHP o simplemente usar los valores que arrojó javascript.

Muevo tu pregunta al foro de Javscript para que te orienten.

Un saludo,
  #3 (permalink)  
Antiguo 03/06/2004, 01:36
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 9 meses
Puntos: 772
Hola, famp.

Pureba esto:
Código PHP:
<html>
<
head>
<
script>
function 
calcular() {
    
ne=eval(document.getElementById('neto').value);
    
iv=eval(document.getElementById('iva').value);
    
tiv ne iv /100;
    
tot ne tiv;
    
document.getElementById('totiva').value=tiv;
    
document.getElementById('total').value=tot;
}
</script>
</head>

<body>
<input type="text" id="neto" value="0" onkeyup="calcular()" />
<input type="text" id="iva" value="0" onkeyup="calcular()" />
<input type="text" id="totiva" disabled="disabled" />
<input type="text" id="total" disabled="disabled" />
</body>
</html> 
Saludos,
  #4 (permalink)  
Antiguo 03/06/2004, 06:15
 
Fecha de Ingreso: marzo-2004
Mensajes: 271
Antigüedad: 20 años, 8 meses
Puntos: 0
ok el formulario enviado por javierb funciona de lugo y comprendido bastante bien, pero como paso esto a una variable en php para introducirlo en los campo de una tabla de mysql
  #5 (permalink)  
Antiguo 03/06/2004, 06:36
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Mete esos <input> en un formulario (<form ...>) ahí indicaras tu script PHP de proceso final (en su action= ...) .. Puede ser el mismo script que contiene ese formulario u otro script por separador. El nombre de tus variables será el "name" que tendrás que definir para esos <input> (que como el ejemplo de JavierB javascript toma los "id" para su proceso ... no definió "name" .. )

Un saludo,
  #6 (permalink)  
Antiguo 03/06/2004, 07:14
 
Fecha de Ingreso: marzo-2004
Mensajes: 271
Antigüedad: 20 años, 8 meses
Puntos: 0
joer como me lio esto es uno de mis linea de mi formulario, algun dia esto sera para mi como leer pero por ahora como si estuviera en parbulito

<tr>
<td>Total</td>
<td><input name="total" type="text" id="total" disabled="disabled" type="text" idparte="total" value="<? echo $fila['total'];?>"></td>
</tr>
pero no me actuaiza, donde debo de indicer el action y las demas cosas que me dices.

y este es el codigo completo incluido el scrip de javierB.
<a href="partes.php">Volver.</a>
<?php
include ("includes/config.php");
include ("includes/funciones.php");

//si la forma ha sido enviada editamos el registro.
if(isset($_POST['submit'])){
//nos conectamos a mysql
$cnx = conectar ();

$sql = "UPDATE partes SET ";
$sql .= "descripcionaveria ='".$_POST['descripcionaveria']."',";
$sql .= "fechaterminado ='".$_POST['fechaterminado']."',";
$sql .= "descripcionsolucion ='".$_POST['descripcionsolucion']."',";
$sql .= "coste ='".$_POST['coste']."',";
$sql .= "iva ='".$_POST['iva']."',";
$sql .= "total ='".$_POST['total']."',";
$sql .= "notas ='".$_POST['notas']."'";
$sql .= " WHERE idparte =".$_POST['idparte'];
$res = mysql_query($sql) or die(mysql_error());
echo "<br>Registro actualizado.";
mysql_close($cnx);
exit;
}

//si no hay id, no puede seguir.
if(empty($_GET['idparte'])){
header("Location: partes.php");
exit;
}

//nos conectamos a mysql
$cnx = conectar ();

//consulta para mostrar los datos.
$sql = "SELECT * FROM partes WHERE idparte=".$_GET['idparte'];
$res= mysql_query($sql) or die (mysql_error());

if( mysql_num_rows($res) >0){
//si hay resultados hacemos la forma.
?>
<form name="form1" method="post" action="<?echo $_SERVER['PHP_SELF'];?>">
<table width="400" border="1" cellpadding="0" cellspacing="0">
<?
//impresión de los datos.
while ($fila = mysql_fetch_array($res)) {
?>
<html>
<head>
<script>
function calcular() {
ne=eval(document.getElementById('neto').value);
iv=eval(document.getElementById('iva').value);
tiv = ne * iv /100;
tot = ne + tiv;
document.getElementById('totiva').value=tiv;
document.getElementById('total').value=tot;
}
</script>



<input type="text" id="neto" value="0" onkeyup="calcular()" />
<input type="text" id="iva" value="16" onkeyup="calcular()" />
<input type="text" id="totiva" disabled="disabled" />



<tr>
<td width="150">Id</td>
<td><input name="idparte" type="hidden" idparte="idparte" value="<?echo $fila['idparte'];?>">
</tr>
<tr>
<td>Descripcion de la Averia</td>
<td><input name="descripcionaveria" type="text" idparte="descripcionaveria" value="<? echo $fila['descripcionaveria'];?>"></td>
</tr>
<tr>
<td>Descripcion de la Reparacion</td>
<td><input name="descripcionsolucion" type="text" idparte="descripcionsolucion" value="<? echo $fila['descripcionsolucion'];?>"></td>
</tr>
<tr>
<td>Fecha de Terminacion</td>
<td><input name="fechaterminado" type="text" idparte="fechaterminado" value="<? echo $fila['fechaterminado'];?>"></td>
</tr>
<tr>
<td>Coste</td>
<td><input name="coste" type="text" idparte="coste" value="<? echo $fila['coste'];?>"></td>
</tr>
<tr>
<tr>
<td>Iva</td>
<td><input name="iva" type="text" idparte="iva" value="<? echo $fila['iva'];?>"></td>
</tr>
<tr>
<td>Total</td>
<td><input name="total" type="text" id="total" disabled="disabled" type="text" idparte="total" value="<? echo $fila['total'];?>"></td>
</tr>
<tr>
<td>Notas</td>
<td><input name="notas" type="text" idparte="notas" value="<? echo $fila['notas'];?>"></td>
</tr>

<tr>
<tr>
<tr>
<td>&nbsp;</td>
<td align="right"><input type="submit" name="submit" value="enviar"></td>
</tr>
</table>
</form>
<?
}
}else{
//no hay resultados, id malo o no existe.
echo "no se obtuvieron resultados";
}
mysql_close($cnx);
?>
  #7 (permalink)  
Antiguo 03/06/2004, 08:12
 
Fecha de Ingreso: marzo-2004
Mensajes: 271
Antigüedad: 20 años, 8 meses
Puntos: 0
ya lo he solucionado, poquito a poco voy aprendiendo, claro que gracias a los maestros que hay por aqui.

Muchas gracias por vuestra ayudas.

pongo el codigo completo con el que ha funcionado.
En este codigo he modificado los valvue, por que no me nostraba en pantalla los datos a editar y para mi ver los datos a editar es importante, por lo tanto los valvue del scrip los he quitado.
<a href="partes.php">Volver.</a>
<?php
include ("includes/config.php");
include ("includes/funciones.php");

//si la forma ha sido enviada editamos el registro.
if(isset($_POST['submit'])){
//nos conectamos a mysql
$cnx = conectar ();

$sql = "UPDATE partes SET ";
$sql .= "descripcionaveria ='".$_POST['descripcionaveria']."',";
$sql .= "fechaterminado ='".$_POST['fechaterminado']."',";
$sql .= "descripcionsolucion ='".$_POST['descripcionsolucion']."',";
$sql .= "coste ='".$_POST['coste']."',";
$sql .= "ivap ='".$_POST['ivap']."',";
$sql .= "iva ='".$_POST['iva']."',";
$sql .= "total ='".$_POST['total']."',";
$sql .= "notas ='".$_POST['notas']."'";
$sql .= " WHERE idparte =".$_POST['idparte'];
$res = mysql_query($sql) or die(mysql_error());
echo "<br>Registro actualizado.";
mysql_close($cnx);
exit;
}

//si no hay id, no puede seguir.
if(empty($_GET['idparte'])){
header("Location: partes.php");
exit;
}

//nos conectamos a mysql
$cnx = conectar ();

//consulta para mostrar los datos.
$sql = "SELECT * FROM partes WHERE idparte=".$_GET['idparte'];
$res= mysql_query($sql) or die (mysql_error());

if( mysql_num_rows($res) >0){
//si hay resultados hacemos la forma.
?>
<script>
function calcular() {
ne=eval(document.getElementById('neto').value);
iv=eval(document.getElementById('iva').value);
tiv = ne * iv /100;
tot = ne + tiv;
document.getElementById('totiva').value=tiv;
document.getElementById('total').value=tot;
}
</script>
<form name="form1" method="post" action="<?echo $_SERVER['PHP_SELF'];?>">
<table width="400" border="1" cellpadding="0" cellspacing="0">
<?
//impresión de los datos.
while ($fila = mysql_fetch_array($res)) {
?>





<tr>
<td width="150">Id</td>
<td><input name="idparte" type="hidden" idparte="idparte" value="<?echo $fila['idparte'];?>">
</tr>
<tr>
<td>Descripcion de la Averia</td>
<td><input name="descripcionaveria" type="text" idparte="descripcionaveria" value="<? echo $fila['descripcionaveria'];?>"></td>
</tr>
<tr>
<td>Descripcion de la Reparacion</td>
<td><input name="descripcionsolucion" type="text" idparte="descripcionsolucion" value="<? echo $fila['descripcionsolucion'];?>"></td>
</tr>
<tr>
<td>Fecha de Terminacion</td>
<td><input name="fechaterminado" type="text" idparte="fechaterminado" value="<? echo $fila['fechaterminado'];?>"></td>
</tr>
<tr>
<td>Coste</td>
<td><input name="coste" input type="text" id="neto" onkeyup="calcular()" idparte="coste" value="<? echo $fila['coste'];?>"></td>
</tr>
<tr>
<td>Iva %</td>
<td><input name="ivap" input type="text" id="iva" onkeyup="calcular()" idparte="ivap" value="<? echo $fila['ivap'];?>"></td>
</tr>
<tr>
<tr>
<td>Total Iva</td>
<td><input name="iva" input type="text" id="totiva" type="text" idparte="iva" value="<? echo $fila['iva'];?>"></td>
</tr>
<tr>
<td>Total</td>
<td><input name="total" input type="text" id="total" idparte="total" value="<? echo $fila['total'];?>"></td>
</tr>
<tr>
<td>Notas</td>
<td><input name="notas" type="text" idparte="notas" value="<? echo $fila['notas'];?>"></td>
</tr>

<tr>
<tr>
<tr>
<td>&nbsp;</td>
<td align="right"><input type="submit" name="submit" value="enviar"></td>
</tr>
</table>
</form>
<?
}
}else{
//no hay resultados, id malo o no existe.
echo "no se obtuvieron resultados";
}
mysql_close($cnx);
?>
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:46.