Ver Mensaje Individual
  #2 (permalink)  
Antiguo 29/03/2014, 23:01
marcusaurelio
 
Fecha de Ingreso: enero-2007
Mensajes: 285
Antigüedad: 17 años, 3 meses
Puntos: 21
Respuesta: monto total de pago de cuenta en java script

hola cardf.... en primer.. lugar...

esto no va en este foro.. ya que no es.. java... sino javascript y es otro lenguaje totalmente diferente... pero yo no soy el encargado de moverlo..

en cuanto a tu codigo.. al restar ... la variable TOTAL no existe... lo que te quedaria algo asi...

Código:
function sumar() {
var pago = parseInt(document.insertar.pago.value);	
var n1 = parseInt(document.insertar.numero1.value);
var n2 = parseInt(document.insertar.numero2.value);
var n3 = parseInt(document.insertar.numero3.value);

var importe=n1+n2+n3;

document.insertar.TOTAL.value=importe;
document.insertar.p.value=pago-importe;
}
luego tenes que ver las validaciones.. que no se NaN... osea que tome los vacios como cero... y los redondeos.. podes usar toFixed...

pero.. yo.. y esto es una apreciacion personal.. te diria que trabajes con
document.getElementById()...

y tambien cambiaria el evento.. a onkeyup.. o bien a onblur..

lo cual te daria algo asi...

Código:
<html>
    <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        
        <script>
function sumar() {
pago = document.getElementById('pago').value;	
n1 = document.getElementById('num1').value;
n2 = document.getElementById('num2').value;
n3 = document.getElementById('num3').value;



n1=(n1=='')?0:parseFloat(n1);
n2=(n2=='')?0:parseFloat(n2);
n3=(n3=='')?0:parseFloat(n3);


importe=n1+n2+n3;
importe.toFixed(2);

vuelto=(pago!=0 && pago!='')?parseFloat(pago)-parseFloat(importe):0;
vuelto.toFixed(2);

document.getElementById('TOTAL').value=importe;
document.getElementById('p').value=vuelto;
}
</script>
        
    </head>
    <body>
        
        
        
<form id="insertar" name="insertar" method="post" action="">
<table width="200" border="1">
  <tr>
    <th scope="col">Ingrese cantidad con que paga<input type="text" name="pago" id="pago" onkeyup="sumar()" size="20"><br /></th>
  </tr>
  <tr>
    <th scope="row">precio1<input type="text" name="numero1" id="num1" size="20" onkeyup="sumar()"><br /></th>
  </tr>
  <tr>
    <th scope="row">precio2<input type="text" name="numero2" id="num2" size="20" onkeyup="sumar()"><br /></th>
  </tr>
  <tr>
    <th scope="row">precio3<input type="text" name="numero3" id="num3" size="20" onkeyup="sumar()"><br /></th>
  </tr>
  <tr>
    <th scope="row">Total<input type="text" name="TOTAL" id="TOTAL" size="20"></th>
  </tr>
  <tr>
    <th scope="row">vuelto<input type="text" name="p" id="p" size="20"></th>
  </tr>
</table>


</p>
<input type="submit" name="Submit" value="Insertar Registro" />
<input type="hidden" name="action" value="add" />
</form>
        
        
        
    </body>
</html>
espero que te halla servido... saludos.