Cordial saludo
Estoy creando una aplicación para registro de notas, los datos de los estudiantes vienen de una consulta, de acuerdo a la cantidad de estudiante se genera la lista con la cantidad de fila, cada fila necesita capturar tres notas las cuales se le calcula la definitiva, tengo un script que me hace el calculo como quiero pero solo funciona en la primera fila de la lista al pasar a la siguiente fila no hace los calculo.
alguien quien me pueda ayudar. coloco el código para que sea analizado.
Código HTML:
<script language="javascript">
function calcular(){
n1 = document.getElementById("n1").value;
n2 = document.getElementById("n2").value;
n3= document.getElementById("n3").value;
r= (parseInt(n1)*0.30)+(parseInt(n2)*0.30)+(parseInt(n3)*0.40);
document.getElementById("resultado").value = r.toFixed(1);
}
</script>
Código PHP:
<?php
$n=1;
while($fila=mysql_fetch_array($sql)){
?>
<td><input type="text" id="n" value="<?php echo $n; ?>"></td>
<td><?php echo '<strong>'.$fila['apellidos']. ' ' .$fila['nombres'].'</strong>'; ?></td>
<td> <input type="number" name="inas" size="1" maxlength="2" style="width:50px" value="0" step="1" max="8" min="1" ></td>
<td> <input type="number" id="n1" style="width:50px" value="0" max="5" min="1" autofocus onChange="calcular();"></td>
<td> <input type="number" id="n2" style="width:50px" value="0" max="5" min="1" onChange="calcular();"></td>
<td> <input type="number" id="n3" style="width:50px" value="0" max="5" min="1" onChange="calcular();"></td>
<td> <input type="number" id="resultado" style="width:50px" value="0" step="0.1" max="5" min="1"></td>
<td> </td>
<td></td>
<tr></tr>
<?php
$n++;
}
?>