HTML - Problema en resultado con etiqueta output

 
Vista:
sin imagen de perfil

Problema en resultado con etiqueta output

Publicado por Javier (115 intervenciones) el 23/05/2018 04:05:25
Hola gente tengo un problema con la etiqueta output que no me da el resultado de una operación.
Intente resaltar un poco en negrita las partes q interesan para el problema o sea el evento oninput en la etiqueta
fieldset y la última línea de campos input con la etiqueta output.



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<form name="formulario_datos" id="formulario_datos" action="envio.php" method="get">
 
<fieldset form="formularios_datos" name="grupo_datos_personales" oninput="resultado.value=parseInt(numeroa.value)+parseInt(numerob.value)">
<legend>Datos personales</legend>
<label for="nombre" form="formulario_datos">Nombre:</label>
<input type="text" name="nombre" id="nombre" value="" placeholder="Teclee nombre..."><br>
<label for="teléfono" form="formulario_datos">Teléfono</label>
<input type="tel" name="teléfono" id="teléfono" value="" placeholder="Teclee teléfono..."><br>
0 <input type="range" id="numeroa" value="50">100 + 0 <input type="range" id="numerob" value="50"> 100 = <output name="resultado" for="numeroa numerob" form="formulario_datos">
</output>
 
</fieldset>
 
<input type="submit" name="enviar" value="Enviar Datos">
 
</form>
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
Imágen de perfil de Lopez
Val: 886
Plata
Ha mantenido su posición en HTML (en relación al último mes)
Gráfica de HTML

Problema en resultado con etiqueta output

Publicado por Lopez (271 intervenciones) el 23/05/2018 17:39:43
Hola Javier,

Te cuento la propiedad for solo acepta un elemento (id) asociado, esto según los estándares W3.
Para lograr el calculo deseado, segun lo que entendi :P , pienso es mas acertado el uso de un array,
que "aguante" los valores, que podrian ser varios mas, por ello añadí el uso de una clase.
Te dejo una alternativa en código:

JS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<script>
 
 function updtTotal() {
    var total = 0;//
    var inputs = document.getElementsByClassName("input");
    var values = [];
    for(var i = 0; i < inputs.length; ++i) {
        values.push(parseFloat(inputs[i].value));
    }
    total = values.reduce(function(previousValue, currentValue, index, array){
        return previousValue + currentValue;
    });
	document.getElementById('total').innerHTML = total;
}
 
</script>
HTML
1
2
<input type="range" value="50" class="input" id="a" oninput="updtTotal();">
<input type="range" value="50" class="input" id="b"  oninput="updtTotal();">

Espero ayuda,
Saludos!
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
sin imagen de perfil

Problema en resultado con etiqueta output

Publicado por Javier (115 intervenciones) el 24/05/2018 00:26:48
Hola lopez gracias por la ayuda, te comento q probe ese codigo y no pasa nada, ahora te pregunto , si el atributo for solo acepta una propiedad id como hago la etiqueta output para que me de el resultado de la suma ?
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
Imágen de perfil de Lopez
Val: 886
Plata
Ha mantenido su posición en HTML (en relación al último mes)
Gráfica de HTML

Problema en resultado con etiqueta output

Publicado por Lopez (271 intervenciones) el 24/05/2018 00:37:02
LOL imagino no creaste el elemento que leería el total cierto?

1
<div id="total"></div>

Aquí el demo : https://codepen.io/lowpez/pen/deEXgy
Cuentame que tal,
Sino funciona nos podemos a trabajar en otra opción.
como usar .this en la función.
De todas formas, en un momento te dejo un ejemplo de ello,
que voy saliendo.

Quedo atento,
Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Problema en resultado con etiqueta output

Publicado por Javier (115 intervenciones) el 24/05/2018 01:11:28
ahora si maestro muchisimas gracias.
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