Suma de Inputs con resultado automático dentro de un while
Publicado por guillermo (14 intervenciones) el 27/02/2021 04:45:35
intento hacer una función de autosuma en un formulario dentro de un while. cuando esta fuera del while funciona bien, pero dentro de el, dice que los valores id están duplicados. intente colocar un autoincrement con un $i++, esto me quita el problema de los id duplicados, pero sigue sin mostrar el resultado en el input final, este es mi código. alguien que me pueda ayudar o que me sugiera que código debo usar que realice esta función para cada uno de los datos arrojados dentro del while.
este es el código del formulario que uso dentro del while, dentro del campo id agregue el valor que incrementa en uno
1
2
3
$i=1;
while ( $result = mysqli_fetch_assoc($query)) { ?>
<tr>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
function sumando() {
var n1 = document.getElementById("coevaluacion").value;
var n2 = document.getElementById("eteroevaluacion").value;
var n3 = document.getElementById("n3").value;
var n4 = document.getElementById("porcentaje1").value;
var n5 = document.getElementById("porcentaje2").value;
var n6 = document.getElementById("porcentaje3").value;
try{
p1 = (isNaN(parseInt(n1)))? 0 : parseInt(n1);
p4 = (isNaN(parseInt(n4)))? 0 : parseInt(n4);
p2 = (isNaN(parseInt(n2)))? 0 : parseInt(n2);
p5 = (isNaN(parseInt(n5)))? 0 : parseInt(n5);
p3 = (isNaN(parseInt(n3)))? 0 : parseInt(n3);
p6 = (isNaN(parseInt(n6)))? 0 : parseInt(n6);
var n11= p3+p4 ;
var n10 = p2+p5;
var n12= p1+p6 ;
document.form1.final.value = n10+n11+n12 ;
}
//Si se produce un error no hacemos nada
catch(e) {}
}
</script>
este es el código del formulario que uso dentro del while, dentro del campo id agregue el valor que incrementa en uno
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<input placeholder="%" name="porcentaje2" type="int" id="porcentaje2<?php echo $i; ?>" onkeyup="sumando(this.value)" class="form-control" value="">
</div>
<div class="col-3">
<label for="n3"> n3 </label>
<input placeholder="nota" name="n3" type="int" id="n3<?php echo $i; ?>" onkeyup="sumando(this.value)" value="" class="form-control" >
</div>
<div class="col-3">
<label for="porcentaje3">%</label>
<input placeholder="%" name="porcentaje3" type="int" id="porcentaje3<?php echo $i; ?>" onkeyup="sumando(this.value)" value="" class="form-control" >
</div>
<div class="col-4" >
<p align="center">
<label for="final" > Final </label>
<input placeholder="final" name="final" id="final<?php echo $i; ?>" class="form-control" >
</p>
<p> </p>
</div>
</div>
<div class="form-row">
<div class="col-6">
<br />
<input type="submit" name="enviar" value="Guardar Notas" class="btn btn-danger small"/>
</div>
</form></div>
</div></div></td>
</div>
</tr>
<?php $i++;} ?>
</tbody>
</table> <?php } ?>
Valora esta pregunta


0