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.