JavaScript - Calculos con javascript

   
Vista:

Calculos con javascript

Publicado por multimedia (1 intervención) el 22/11/2007 08:18:06
buenos días,

A ver si alguien me puede ayudar. Es muy urgente.
Necesito hacer un javascript con un calculo de necesidades. Es para una empresa de calefacción. Teneis un ejemplo en...

http://www.leroymerlin.es/mpng2-fron...=zonecatalogue

Tengo que hacer una cosa de estas pero no tengo ni idea.
¿como puedo sumar el valor de un input con el de un textfield?

Os lo pongo más claro, lo que tengo que hacer es lo siguiente:

cantidad que meta el usuario +2 = y
y * 85* cantidad que seleccione el usuai(un input)= TOTAL

En otro foro me han pasado este código pero creo que no funciona.

¿Podeis echarle un ojo?

<html>
<body>
<script>
function multiplicar(){
m1 = document.getElementById("superficie").value;
tot= (m1+2)*85;

if (document.Myform.factor1.checked){
m2 = document.getElementById("factor1").value;
tot=tot*m2
}
if (document.Myform.factor2.checked){
m2 = document.getElementById("factor2").value;
tot=tot*m2
}
if (document.Myform.factor3.checked){
m2 = document.getElementById("factor3").value;
tot=tot*m2}
if (document.Myform.factor4.checked){
m2 = document.getElementById("factor4").value;
tot=tot*m2}
if (document.Myform.factor5.checked){
m2 = document.getElementById("factor5").value;
tot=tot*m2
}

document.getElementById("resultado").value = tot;
}
</script>
<form method="post" name="Myform" id="multiplicar" onsubmit="multiplicar();">
<table width="99%" border="0" cellspacing="0" cellpadding="3">
<tr>
<td width="11%" align="left"> </td>
<td width="35%" align="left">Factor geográfico:</td>
<td colspan="2" align="left" valign="middle" class="texto"><table width="81%" border="0" cellspacing="3" cellpadding="0">
<tr>
<td><input name="factor1" type="radio" value="1" id="factor1">
1</td>
<td><input name="factor2" type="radio" value="2" id="factor2">
2</td>
<td><input name="factor3" type="radio" value="3" id="factor3">
3</td>
<td><input name="factor4" type="radio" value="4" id="factor4">
4</td>
<td><input name="factor5" type="radio" value="5" id="factor5">
5</td>
</tr>
</table></td>
</tr>
<tr>
<td align="left"> </td>
<td align="left">Superficie de la estancia: </td>
<td width="39%" align="left"><input name="superficie" type="text" class="texto" id="superficie" >
m2</td>
<td width="15%" colspan="-3" rowspan="2" align="left"> </td>
</tr>
<tr>
<td align="left"> </td>
<td align="left">Tipo de estancia: </td>
<td align="left"><table width="60%" border="0" cellspacing="3" cellpadding="0">
<tr>
<td width="30%"><input name="estancia" type="radio" value="salon"></td>
<td width="70%">Salón</td>
</tr>
<tr>
<td><input name="estancia" type="radio" value="dormitorio"></td>
<td>Dormitorio</td>
</tr>
<tr>
<td><input name="estancia" type="radio" value="cocina"></td>
<td>Cocina</td>
</tr>
<tr>
<td><input name="estancia" type="radio" value="baño"></td>
<td>Baño</td>
</tr>
<tr>
<td><input name="estancia" type="radio" value="pasillo"></td>
<td>Pasillo</td>
</tr>
</table></td>
</tr>
<tr>
<td align="left"> </td>
<td align="left"> </td>
<td align="left"> </td>
<td colspan="-3" align="left"> </td>
</tr>
<tr>
<td align="left"> </td>
<td align="left"> </td>
<td align="left"><input name="resultado" type="text" id="resultado"></td>
<td colspan="-3" align="left"><input type="button" name="Submit" value="Calcular" onclick="multiplicar();" ></td>
</tr>
</table>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Calculos con javascript

Publicado por Carlos Ho Continy (4 intervenciones) el 30/11/2007 16:58:07
Multimedia, lo que debes hacer es convertir los campos, por reglas de programación a + b = ab, o sea concatenación, sin embargo INT(a) + INT(b) = INT(c). Es decir, debes convertir el objeto a entero o flotante. Utiliza la función parseFloat o parseInt para tal efecto y verás que si te funciona. Por defecto las variables son tratadas como Variant, el cual es un tipo de dato general muy parecido al String y todos los inputs son tratados de esta manera.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar