Foros del Web » Programando para Internet » Javascript »

calculadora simple (tema nuevo)

Estas en el tema de calculadora simple (tema nuevo) en el foro de Javascript en Foros del Web. hola, queria saber como hacer esto: yo tengo dos cajas de texto, y un parrafo que dice "total = $". como hacer para que automaticamente ...
  #1 (permalink)  
Antiguo 05/05/2007, 15:11
 
Fecha de Ingreso: junio-2006
Mensajes: 195
Antigüedad: 17 años, 10 meses
Puntos: 0
Pregunta calculadora simple (tema nuevo)

hola, queria saber como hacer esto: yo tengo dos cajas de texto, y un parrafo que dice "total = $". como hacer para que automaticamente los valores que introduzca en las cajas de texto se sumen y automaticamente me escriba el total en el parrafo... ¿?
  #2 (permalink)  
Antiguo 20/07/2008, 03:56
 
Fecha de Ingreso: febrero-2007
Mensajes: 4
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: Re: calculadora simple

Cita:
Iniciado por JavierB Ver Mensaje
Hola menfis_megadisco

Prueba esto:

Código PHP:
<html>
<
head>
<
script>
function 
sumar(frm) {
  
n1 parseInt(frm.txt1.value);
  if (
isNaN(n1)) n1 0;
  
n2 parseInt(frm.txt2.value);
  if (
isNaN(n2)) n2 0;
  
document.getElementById('suma').innerHTML 'Total = '+ (n1 n2);
}
</script>
</head>
<body>
<form>
<input type="text" name="txt1" onkeyup="sumar(this.form)" />
<input type="text" name="txt2" onkeyup="sumar(this.form)" />
</form>
<p id="suma">Total = 0</p>
</body>
</html> 
Saludos,

Realmente muy bueno. No tengo mucha idea de js. Por ello le hago la siguiente consulta. Estoy creando un sistema contable y algunas de las funciones tienen, necesariamente, que ser dinamicas. Por ej cargar un formulario con un pedido donde su precio se multiplique por la cantidad comprada. Hasta aca parece no haber incovenientes. Ahora el problema surge cuando en mi formulario existen campos que se llaman de una misma manera (son un array []).
Como se aplicaría en este caso esta funcion.

Pseudocodigo del form

<form>
<input type="text" name="txt1[]" onkeyup="sumar(this.form)" />
<input type="text" name="txt2[]" onkeyup="sumar(this.form)" />
<br/>
<input type="text" name="txt1[]" onkeyup="sumar(this.form)" />
<input type="text" name="txt2[]" onkeyup="sumar(this.form)" />
</form>
<p id="suma">Total = 0</p>


Gracias de antemano.

Saludos,
Serper
  #3 (permalink)  
Antiguo 20/07/2008, 04:48
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: calculadora simple (tema nuevo)

Hola serper:

Procura no revivir viejos temas, aunque se trate de la misma preguntan aunque evidentemente la pregunta es otra... cuando tienes nombres de campor con el juego de corchetes propio de los arrays que se deben procesar en el servidor, debes poner esos campos como cadenas también entre corchetes...

... Pero en este caso concreto hay que hacer un poco de malabares.

La función podrías hacerla poniendo tanto el valor actiual como el otro que debe evaluuarse:

function sumar(campo1, campo2) {
n1 = parseInt(campo1.value);
if (isNaN(n1)) n1 = 0;
n2 = parseInt(campo2.value);
if (isNaN(n2)) n2 = 0;
document.getElementById('suma').innerHTML = 'Total = '+ (n1 + n2);
}

y el form...

<form>
<input type="text" name="txt1[]" onkeyup="sumar(this, this.form["txt2[]"][0])" />
<input type="text" name="txt2[]" onkeyup="sumar(this, this.form["txt1[]"][0])" />
<br/>
<input type="text" name="txt1[]" onkeyup="sumar(this, this.form["txt2[]"][1])" />
<input type="text" name="txt2[]" onkeyup="sumar(this, this.form["txt1[]"][1])" />
</form>

Pruébalo y nos cuentas (espero que no tengas problemas para generar con el lenguaje de tu servidor esas líneas), y ten mucho cuidado con los índices...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
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 05:22.