Foros del Web » Programando para Internet » Javascript »

Problemas con suma en INPUT

Estas en el tema de Problemas con suma en INPUT en el foro de Javascript en Foros del Web. Hola, recien empiezo con JAVASCRIPT y lo que quiero hacer es sumar dos IMPUTS en uno NUEVO que resultan de la seleccion de un COMBOBOX ...
  #1 (permalink)  
Antiguo 27/01/2008, 15:35
 
Fecha de Ingreso: febrero-2006
Mensajes: 10
Antigüedad: 18 años, 2 meses
Puntos: 1
Problemas con suma en INPUT

Hola, recien empiezo con JAVASCRIPT y lo que quiero hacer es sumar dos IMPUTS en uno NUEVO que resultan de la seleccion de un COMBOBOX

El Script que tengo es el siguiente:

Código:
<head>

function suma(){
a=document.formulario;

var reemplazar = new Array();
reemplazar[0] = "U$S";
reemplazar[1] = "U$s";
reemplazar[2] = "u$S";

var valores = new Array();
valores[0] = "pMotherboard";
valores[1] = "pMotherboard";
valores[2] = "pMotherboard";

valores.replace(/\reemplazar/g," "); 
a.res.value=parseFloat(a.pOpciones1.value)+parseFloat(a.pOpciones2.value);
}


 function mostrarproducto1(sel) {
        document.getElementById("mOpciones1").value = sel.value
    }
	
 function mostrarproducto2(sel) {
        document.getElementById("mOpciones2").value = sel.value
    }
	
<head>
En el BODY tengo lo siguiente:


Código:
<body>
<form name="formulario>
<p>Televisores</p>
<select name="pOpciones1" onchange="mostrarproducto1" onclick="suma()">
<option value="U$S 9,50" selected>Televisor Sansung</option> 
<option value="U$S 12.15" selected>Televisor AOC</option> Precio: <input type ="text" name="mOpciones1"  id="mOpciones1">  
</select>

Precio del Televisor: <input type ="text" name="mOpciones1"  id="mOpciones1">  

<p>Reproductores de DVD</p>
<select name="pOpciones2" onchange="mostrarproducto1" onclick="suma()">
<option value="U$S 220" selected>DVD SONY</option>";
<option value="U$S 140,90" selected>DVD LG</option>";
</select>

Precio del DVD: <input type ="text" name="mOpciones2"  id="mOpciones2"  onclick="suma()">  


Sub-Total <input name="res" type="text" class="precio2" id="res"  onclick="suma()">
</form>
</body>

No se porque no me suma los valores en el INPUT del SUBTOTAL. Por favor, si me pueden guiar a resolver mi problema estare muy agradecido. Saludos...
  #2 (permalink)  
Antiguo 27/01/2008, 17:07
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Re: Problemas con suma en INPUT

Hola nompalidece:


No sé que estarás intentando hacer, pero para empezar por el HTML:
  • El atributo name del formulario no está cerrado.
  • No pueden haber dos o más elementos <option> con el selected puesto en el mismo elemento <select>
  • El manejador de eventos natural para un select es onchange, para cuando cambie de valor.
  • El manejador de eventos para lo que creo que quieres hacer en los <input> podría ser onblur, onclick no tiene mucho sentido en un <input>.
Y si nos metemos con el javascript:
  • Si la variable a es local, debería estar declarada como tal, con var.
  • Si valores es un array, no tiene método replace(), ése sólo lo tiene String.
  • Si en la expresión regular estás intentando que cualquier cosa de valores se sustituya con cualquier cosa de reemplazar, así no lo consegurás. Temo que no te has acercado (necesitas un bucle, o un par de ellos).
  • Dentro de los parseFloat() estás poniendo unas cadenas del tipo "U$S 140,90", que no comienzan por número, por lo tanto se traducen como NaN (Not A Number), y por supuesto no computan como números sumables.


En tu código hay más pretensiones que sumar dos números. Mejor posteas lo que quieres hacer concretamente y punto por punto, y te echamos una mano entre todos para sacar un código adelante


Saludos
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
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 00:45.