Foros del Web » Programando para Internet » Javascript »

Calculo de operaciones matematicas automatico

Estas en el tema de Calculo de operaciones matematicas automatico en el foro de Javascript en Foros del Web. HOla amigos, necesito en un formulario calcular ciertos valores, no se mucho de javascript pero me e pasado todo el día y e llegado a ...
  #1 (permalink)  
Antiguo 18/04/2007, 17:40
Avatar de xplorador  
Fecha de Ingreso: enero-2002
Ubicación: Peru
Mensajes: 105
Antigüedad: 22 años, 3 meses
Puntos: 0
Calculo de operaciones matematicas automatico

HOla amigos, necesito en un formulario calcular ciertos valores, no se mucho de javascript pero me e pasado todo el día y e llegado a esto:
Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>


<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Form Credito</title>

<!-- calculos crediticios  -->
<SCRIPT Languaje='JavaScript'>
var MontoS=0;
var Refund=0;
function set1(ingreso)
  { MontoS=parseInt(ingreso.value); }
function set2(ingreso)
  { Refund=parseInt(ingreso.value); }

 
function totalizar(boton)
  { document.myform.Subtotal.value=MontoS+Refund; }
function Comis(boton)
  { document.myform.Comision.value=0.4*MontoS; }

function TotalF(boton)
  { document.myform.TotalFinanciar.value=0.4*MontoS+MontoS+Refund; }

function borra()
  { document.myform.MontoSolicitado.value='';
	  document.myform.Refundir.value=''; 
	     document.myform.Subtotal.value='';
		     document.myform.Comision.value='';
		       document.myform.TotalFinanciar.value='';
	}	
</SCRIPT>
<!-- / calculos crediticios-->

</head>
<body>
<h2>Solicitud de Crédito</h2>
<form enctype="multipart/form-data" method="post" action="../../YouGotEmail.php" onsubmit="return validar(this)" name='myform'>
  <table border="0" cellpadding="2" cellspacing="2" width="490">
    <tbody><tr>
      <td><table bgcolor="#fafafa" border="0" cellpadding="2" cellspacing="2" width="500">
        <tbody><tr>
          <td bgcolor="#f9e6ad" width="200">Línea de Crédito Solicitada </td>
          <td bgcolor="#f9e6ad" width="290"><input name="Lineacredito" type="text"></td>
        </tr>
        <tr>
          <td>Garantía Ofrecida </td>
          <td><input name="Garantiaofrecida" type="text"></td>
        </tr>
        <tr>
          <td bgcolor="#f9e6ad">En caso de garantía fiduciaria <br>
            anote los nombres de los fiadores <br>
            y sus números de cédula </td>
          <td bgcolor="#f9e6ad"><textarea name="GrantiaFiduciaria" cols="10"></textarea></td>
        </tr>
        <tr>
          <td colspan="2"><div align="center"><strong>SOLICITUD DE CRÉDITO </strong></div></td>
        </tr>
        <tr>
          <td bgcolor="#f9e6ad">Monto Solicitado </td>
          <td bgcolor="#f9e6ad"><INPUT TYPE='text' NAME='MontoSolicitado' onChange='set1(this)'></td>
        </tr>
        <tr>
          <td>Créditos a Refundir </td>
          <td><INPUT TYPE='text' NAME='Refundir' onChange='set2(this)'></td>
        </tr>
        <tr>
          <td bgcolor="#f9e6ad">Subtotal de esta Solicitud </td>
          <td bgcolor="#f9e6ad"><INPUT TYPE='text' NAME='Subtotal'><INPUT TYPE='button' VALUE='Calcular' onClick='totalizar(this)'></td>
        </tr>
        <tr>
          <td>Comisión</td>
          <td><INPUT TYPE='text' NAME='Comision'><INPUT TYPE='button' VALUE='Calcular' onClick='Comis(this)'></td>
        </tr>
        <tr>
          <td bgcolor="#f9e6ad">Total a Financiar </td>
          <td bgcolor="#f9e6ad"><INPUT TYPE='text' NAME='TotalFinanciar' value="TotalF"><INPUT TYPE='button' VALUE='Calcular' onClick='TotalF(this)'><INPUT TYPE='button' VALUE='Borrar' onClick='borra()'></td>
        </tr>
        <tr>
          <td>Tasa Anual </td>
          <td><input name="TasaAnual" type="text"></td>
        </tr>
        <tr>
          <td bgcolor="#f9e6ad">Plazo</td>
          <td bgcolor="#f9e6ad"><input name="Plazo" type="text"></td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td>&nbsp;</td>
        </tr>
        <tr>
          <td bgcolor="#f9e6ad">Su cuota mensual (no incluye seguros) será de </td>
          <td bgcolor="#f9e6ad"><input name="Cuotamensual" type="text"></td>
        </tr>
        <tr>
          <td colspan="2"><div align="center"><strong>SU CUOTA POR ESTE PRESTAMO </strong></div></td>
        </tr>
        <tr>
          <td colspan="2" bgcolor="#f9e6ad"><div align="center">
            <textarea name="SuQuota" cols="25">Especifique aquí los créditos actuales que desea refundir</textarea>
          </div></td>
        </tr>
        <tr>
          <td><input name="Reset" value="Borrar" type="reset"></td>
          <td><input type="submit" name="envio" value="Enviar" /></td>
        </tr>
      </tbody></table></td>
      <td><img src="formulariocredito_files/160.gif" height="1" width="100"></td>
    </tr>
  </tbody></table>
</form>
</body>
</html>
Me funciona perfecto...pero tengo que hacer clic en los tres botones y la idea seria que con un solo botón me calcule los 3 cálculos, ya intente pero no consigo eso...por favor alguien me puede guiar???

Sera posible que los cálculos me aparezcan automáticamente sin necesidad de oprimir el botón CALCULAR...si no es así me contento que con un solo botón pueda hacer los 3 cálculos.
Gracias
__________________
Adictoshp.org

Última edición por xplorador; 18/04/2007 a las 17:45
  #2 (permalink)  
Antiguo 18/04/2007, 23:05
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: Calculo de operaciones matematicas automatico

Hola:

En un solo botón puedes hacer los tres cálculos, separando las instrucciones con el carácter ";" (punto y coma)

Por cierto, sobre el código he visto que pasas los mismos botónes como parámetro de todas esas funciones, pero no los usas en las mismas... puedes simplificar un poco el código si aprovechas y en vez del botón pasas como parámetro el mismo formulario:

onclick='totalizar(this.form); Comis(this.form); TotalF(this.form)'

... y ...
function totalizar(f)
{ f.Subtotal.value=MontoS + Refund; }

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 19/04/2007, 08:24
Avatar de xplorador  
Fecha de Ingreso: enero-2002
Ubicación: Peru
Mensajes: 105
Antigüedad: 22 años, 3 meses
Puntos: 0
Re: Calculo de operaciones matematicas automatico

Muchas gracias,gracias...me a funcionado el cálculo en un solo botón.


Si alguien tiene alguna sugerencia para que el calculo sea automático sin necesidad de usar el botón de calculo seria excelente
__________________
Adictoshp.org
  #4 (permalink)  
Antiguo 19/04/2007, 08:33
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: Calculo de operaciones matematicas automatico

Cita:
Iniciado por xplorador Ver Mensaje
Muchas gracias,gracias...me a funcionado el cálculo en un solo botón.


Si alguien tiene alguna sugerencia para que el calculo sea automático sin necesidad de usar el botón de calculo seria excelente
¡Je, je!... lo hubieras dicho antes...

Usa el evento onchange en cada campo de texto y la misma función.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 19/04/2007, 09:19
Avatar de xplorador  
Fecha de Ingreso: enero-2002
Ubicación: Peru
Mensajes: 105
Antigüedad: 22 años, 3 meses
Puntos: 0
Re: Calculo de operaciones matematicas automatico

te refieres a poner asi:
Código:
<INPUT TYPE='text' NAME='Subtotal' onChange='totalizar(this)'>
Pero inserto los valores y no pasa nada con ese campo
__________________
Adictoshp.org
  #6 (permalink)  
Antiguo 20/04/2007, 18:46
Avatar de xplorador  
Fecha de Ingreso: enero-2002
Ubicación: Peru
Mensajes: 105
Antigüedad: 22 años, 3 meses
Puntos: 0
Re: Calculo de operaciones matematicas automatico

Estaba probando con el onChange pero no doy exactamente como debería ser...
Necesito que ingresando el campo1 y campo 2 obtenga automaticamnete el campo3=Campo1 + campo2.
Con el siguiente code como ejemplo:
Cita:
<SCRIPT LANGUAGE="JavaScript">
var valor1 = 0;
var valor2 = 0;
function Set1 ( ingreso ) { valor1 = parseInt( ingreso.value ); }

function Set2 ( ingreso ) { valor2 = parseInt( ingreso.value ); }

function totalizar ( boton ) { document.myform.total.value = valor1 + valor2; }
</SCRIPT>
<FORM NAME="myform">
<p>Numero 1: <INPUT TYPE="text" NAME="numero1" onChange="Set1( this )"></p>

<p>Numero 2: <INPUT TYPE="text" NAME="numero2" onChange="Set2( this )"></p>



<INPUT TYPE="text" NAME="total" onClick="totalizar( this )">
</FORM>
algo parecido...
http://www.htmlpoint.com/jscript/cal...ci22codice.htm
__________________
Adictoshp.org

Última edición por xplorador; 20/04/2007 a las 19:07
  #7 (permalink)  
Antiguo 23/04/2007, 17:42
Avatar de befranel  
Fecha de Ingreso: abril-2007
Mensajes: 5
Antigüedad: 17 años
Puntos: 0
Re: Calculo de operaciones matematicas automatico

Buenas amigo aqui tienes lo que creo andabas buscando, espero te sea de utilidad, he usado tu mismo codigo para realizar lo que deseabas, tienes que realizar muy pocos cambios como puedes ver.

Codigo:

<SCRIPT LANGUAGE="JavaScript">
var valor1 = 0;
var valor2 = 0;

function Set1 ( ingreso ) { valor1 = parseInt( ingreso.value );
document.myform.total.value = valor1 + valor2;}

function Set2 ( ingreso ) { valor2 = parseInt( ingreso.value );
document.myform.total.value = valor1 + valor2; }

</SCRIPT>

<FORM NAME="myform">
<p>Numero 1: <INPUT TYPE="text" NAME="numero1" onChange="Set1( this )"></p>

<p>Numero 2: <INPUT TYPE="text" NAME="numero2" onChange="Set2( this )"></p>

<INPUT TYPE="text" NAME="total">
</FORM>
  #8 (permalink)  
Antiguo 27/04/2007, 09:14
Avatar de xplorador  
Fecha de Ingreso: enero-2002
Ubicación: Peru
Mensajes: 105
Antigüedad: 22 años, 3 meses
Puntos: 0
Re: Calculo de operaciones matematicas automatico

Muchas gracias por las respuesta...un molestia mas.:
En el ejemplo pido dos datos y lo sumo:
Ingreso A
Ingreso B
Resultado A+ B

ahora quiero calcular un tercer resultado: Comisión= 0.01*A

Es decir este valor ya no le pido si no que es un porcentaje del primero.
cómo incluiría este tercer calculo para que sea automático,no lo puedo conseguir.
__________________
Adictoshp.org
  #9 (permalink)  
Antiguo 03/05/2007, 12:44
Avatar de xplorador  
Fecha de Ingreso: enero-2002
Ubicación: Peru
Mensajes: 105
Antigüedad: 22 años, 3 meses
Puntos: 0
Re: Calculo de operaciones matematicas automatico

nadieee q me hecho una ultima manito???
__________________
Adictoshp.org
  #10 (permalink)  
Antiguo 03/05/2007, 13:12
 
Fecha de Ingreso: abril-2006
Mensajes: 80
Antigüedad: 18 años
Puntos: 2
Re: Calculo de operaciones matematicas automatico

Algo más compacto:

Código HTML:
<script type="text/javascript">
function totalizar(f)
{
     valor1= parseInt(f.numero1.value);
     valor2= parseInt(f.numero2.value);
     f.subtotal.value= valor1 + valor2;
     f.comision.value= valor1*0'01;
     f.total.value= valor1*0'01+valor1+valor2;
}
</script>

<form name="myform">
<p>Numero 1: <input type="text" name="numero1" onChange="totalizar(this.form)"/></p>

<p>Numero 2: <input type="text" name="numero2" onChange="totalizar(this.form)"/></p>

<input type="text" name="subtotal"/>
<input type="text" name="comision"/>
<input type="text" name="total"/>
</form> 
Fíjate que escribo todo el HTML en minúsculas y que cierro las etiquetas correctamente. Aquellas que no tienen etiqueta de cierre, como el input, hay que cerrarlas así: <input/>

Acostúmbrate a hacerlo así porque es el modo de escribir html correcto.

Y mejor utiliza la propiedad type en lugar de language en las etiquetas de script: <script type="text/javascript">

Última edición por Asyolath; 03/05/2007 a las 13:24
  #11 (permalink)  
Antiguo 03/05/2007, 20:08
Avatar de xplorador  
Fecha de Ingreso: enero-2002
Ubicación: Peru
Mensajes: 105
Antigüedad: 22 años, 3 meses
Puntos: 0
Re: Calculo de operaciones matematicas automatico

Excelente...gracias Asyolath !!

Ahora una ultima consulta cuando ingreso el primer numero en los campos de resultado me sale NaN indicándome que el resultado no es un objeto numérico por que aun en el resto de campos no ppngo los valores, que puedo hacer para que no me salga ese mensaje???
__________________
Adictoshp.org
  #12 (permalink)  
Antiguo 03/05/2007, 23:46
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: Calculo de operaciones matematicas automatico

Hola:

Después de convertir los campos a números, puedes comprobar de que lo sean...

if (isNaN(valor1) || isNaN(valor2)) return;

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 11:00.