Al momento de enviar un registro este método me hace lo que quiero, que es mediante varios select option seleccionar un valor el cual es un numero entero y en un campo marcado como hidden colocar el resultado de la suma de dichos números o campos y en otro campo que si es visible sacar el promedio de dicha suma, el problema esta en que cuando yo quiero aplicar el mismo método para mi formulario actualizar al momento de hacer las operaciones ya no las hace y al momento de inspeccionar la pagina me muestra este error `Uncaught TypeError: document.calculadora.nota1 is undefined
Suma http://localhost/SIDIEA/admin/calificaciones/show.php?id=1&&id_docente=1&&id_materia=1:851
onchange http://localhost/SIDIEA/admin/calificaciones/show.php?id=1&&id_docente=1&&id_materia=1:1`
Todo esta en un mismo archivo
Formmulario para actualizar
<form action="<?= APP_URL ?>/app/controllers/calificaciones/update.php" name="calculadora" method="post">
<div class="row">
<div class="col-md-12">
<div class="form-group">
<input class="form-control" type="text" name="calificacion_id" value="<?= $id_calificacion; ?>" hidden>
<input class="form-control" type="text" name="estudiante_id" value="<?= $id_estudiante; ?>" hidden>
<input class="form-control" type="text" name="materia_id" value="<?= $id_materia_get; ?>" hidden>
<input class="form-control" type="text" name="docente_id" value="<?= $id_docente_get; ?>" hidden>
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label for="">Corte</label>
<input type="text" class="form-control" name="corte" value="<?= $calificacion['corte']; ?>">
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label for="">Examen</label>
<select class="form-control" onchange="Suma()" name="nota1">
<option <?= $calificacion['nota1'] == "" ? 'selected' : '' ?>>---Seleccione un puntaje---</option>
<option value="1" <?= $calificacion['nota1'] == "1" ? 'selected' : '' ?>>1</option>
<option value="2" <?= $calificacion['nota1'] == "2" ? 'selected' : '' ?>>2</option>
<option value="3" <?= $calificacion['nota1'] == "3" ? 'selected' : '' ?>>3</option>
<option value="4" <?= $calificacion['nota1'] == "4" ? 'selected' : '' ?>>4</option>
<option value="5" <?= $calificacion['nota1'] == "5" ? 'selected' : '' ?>>5</option>
<option value="6" <?= $calificacion['nota1'] == "6" ? 'selected' : '' ?>>6</option>
<option value="7" <?= $calificacion['nota1'] == "7" ? 'selected' : '' ?>>7</option>
<option value="8" <?= $calificacion['nota1'] == "8" ? 'selected' : '' ?>>8</option>
<option value="9" <?= $calificacion['nota1'] == "9" ? 'selected' : '' ?>>9</option>
<option value="10" <?= $calificacion['nota1'] == "10" ? 'selected' : '' ?>>10</option>
</select>
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label for="">Participación</label>
<select class="form-control" onchange="Suma()" name="nota2">
<option <?= $calificacion['nota2'] == "" ? 'selected' : '' ?>>---Seleccione un puntaje---</option>
<option value="1" <?= $calificacion['nota2'] == "1" ? 'selected' : '' ?>>1</option>
<option value="2" <?= $calificacion['nota2'] == "2" ? 'selected' : '' ?>>2</option>
<option value="3" <?= $calificacion['nota2'] == "3" ? 'selected' : '' ?>>3</option>
<option value="4" <?= $calificacion['nota2'] == "4" ? 'selected' : '' ?>>4</option>
<option value="5" <?= $calificacion['nota2'] == "5" ? 'selected' : '' ?>>5</option>
<option value="6" <?= $calificacion['nota2'] == "6" ? 'selected' : '' ?>>6</option>
<option value="7" <?= $calificacion['nota2'] == "7" ? 'selected' : '' ?>>7</option>
<option value="8" <?= $calificacion['nota2'] == "8" ? 'selected' : '' ?>>8</option>
<option value="9" <?= $calificacion['nota2'] == "9" ? 'selected' : '' ?>>9</option>
<option value="10" <?= $calificacion['nota2'] == "10" ? 'selected' : '' ?>>10</option>
</select>
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label for="">Tareas</label>
<select class="form-control" onchange="Suma()" name="nota3">
<option <?= $calificacion['nota3'] == "" ? 'selected' : '' ?>>---Seleccione un puntaje---</option>
<option value="1" <?= $calificacion['nota3'] == "1" ? 'selected' : '' ?>>1</option>
<option value="2" <?= $calificacion['nota3'] == "2" ? 'selected' : '' ?>>2</option>
<option value="3" <?= $calificacion['nota3'] == "3" ? 'selected' : '' ?>>3</option>
<option value="4" <?= $calificacion['nota3'] == "4" ? 'selected' : '' ?>>4</option>
<option value="5" <?= $calificacion['nota3'] == "5" ? 'selected' : '' ?>>5</option>
<option value="6" <?= $calificacion['nota3'] == "6" ? 'selected' : '' ?>>6</option>
<option value="7" <?= $calificacion['nota3'] == "7" ? 'selected' : '' ?>>7</option>
<option value="8" <?= $calificacion['nota3'] == "8" ? 'selected' : '' ?>>8</option>
<option value="9" <?= $calificacion['nota3'] == "9" ? 'selected' : '' ?>>9</option>
<option value="10" <?= $calificacion['nota3'] == "10" ? 'selected' : '' ?>>10</option>
</select>
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label for="">Proyectos</label>
<select class="form-control" onchange="Suma()" name="nota4">
<option <?= $calificacion['nota4'] == "" ? 'selected' : '' ?>>---Seleccione un puntaje---</option>
<option value="1" <?= $calificacion['nota4'] == "1" ? 'selected' : '' ?>>1</option>
<option value="2" <?= $calificacion['nota4'] == "2" ? 'selected' : '' ?>>2</option>
<option value="3" <?= $calificacion['nota4'] == "3" ? 'selected' : '' ?>>3</option>
<option value="4" <?= $calificacion['nota4'] == "4" ? 'selected' : '' ?>>4</option>
<option value="5" <?= $calificacion['nota4'] == "5" ? 'selected' : '' ?>>5</option>
<option value="6" <?= $calificacion['nota4'] == "6" ? 'selected' : '' ?>>6</option>
<option value="7" <?= $calificacion['nota4'] == "7" ? 'selected' : '' ?>>7</option>
<option value="8" <?= $calificacion['nota4'] == "8" ? 'selected' : '' ?>>8</option>
<option value="9" <?= $calificacion['nota4'] == "9" ? 'selected' : '' ?>>9</option>
<option value="10" <?= $calificacion['nota4'] == "10" ? 'selected' : '' ?>>10</option>
</select>
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label for="">Exposición</label>
<select class="form-control" onchange="Suma()" name="nota5">
<option <?= $calificacion['nota5'] == "" ? 'selected' : '' ?>>---Seleccione un puntaje---</option>
<option value="1" <?= $calificacion['nota5'] == "1" ? 'selected' : '' ?>>1</option>
<option value="2" <?= $calificacion['nota5'] == "2" ? 'selected' : '' ?>>2</option>
<option value="3" <?= $calificacion['nota5'] == "3" ? 'selected' : '' ?>>3</option>
<option value="4" <?= $calificacion['nota5'] == "4" ? 'selected' : '' ?>>4</option>
<option value="5" <?= $calificacion['nota5'] == "5" ? 'selected' : '' ?>>5</option>
<option value="6" <?= $calificacion['nota5'] == "6" ? 'selected' : '' ?>>6</option>
<option value="7" <?= $calificacion['nota5'] == "7" ? 'selected' : '' ?>>7</option>
<option value="8" <?= $calificacion['nota5'] == "8" ? 'selected' : '' ?>>8</option>
<option value="9" <?= $calificacion['nota5'] == "9" ? 'selected' : '' ?>>9</option>
<option value="10" <?= $calificacion['nota5'] == "10" ? 'selected' : '' ?>>10</option>
</select>
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label for="">Conducta</label>
<select class="form-control" onchange="Suma()" name="nota6">
<option <?= $calificacion['nota6'] == "" ? 'selected' : '' ?>>---Seleccione un puntaje---</option>
<option value="1" <?= $calificacion['nota6'] == "1" ? 'selected' : '' ?>>1</option>
<option value="2" <?= $calificacion['nota6'] == "2" ? 'selected' : '' ?>>2</option>
<option value="3" <?= $calificacion['nota6'] == "3" ? 'selected' : '' ?>>3</option>
<option value="4" <?= $calificacion['nota6'] == "4" ? 'selected' : '' ?>>4</option>
<option value="5" <?= $calificacion['nota6'] == "5" ? 'selected' : '' ?>>5</option>
<option value="6" <?= $calificacion['nota6'] == "6" ? 'selected' : '' ?>>6</option>
<option value="7" <?= $calificacion['nota6'] == "7" ? 'selected' : '' ?>>7</option>
<option value="8" <?= $calificacion['nota6'] == "8" ? 'selected' : '' ?>>8</option>
<option value="9" <?= $calificacion['nota6'] == "9" ? 'selected' : '' ?>>9</option>
<option value="10" <?= $calificacion['nota6'] == "10" ? 'selected' : '' ?>>10</option>
</select>
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label for="">Hoja de evaluación</label>
<select class="form-control" onchange="Suma()" name="nota7" >
<option <?= $calificacion['nota7'] == "" ? 'selected' : '' ?>>---Seleccione un puntaje---</option>
<option value="1" <?= $calificacion['nota7'] == "1" ? 'selected' : '' ?>>1</option>
<option value="2" <?= $calificacion['nota7'] == "2" ? 'selected' : '' ?>>2</option>
<option value="3" <?= $calificacion['nota7'] == "3" ? 'selected' : '' ?>>3</option>
<option value="4" <?= $calificacion['nota7'] == "4" ? 'selected' : '' ?>>4</option>
<option value="5" <?= $calificacion['nota7'] == "5" ? 'selected' : '' ?>>5</option>
<option value="6" <?= $calificacion['nota7'] == "6" ? 'selected' : '' ?>>6</option>
<option value="7" <?= $calificacion['nota7'] == "7" ? 'selected' : '' ?>>7</option>
<option value="8" <?= $calificacion['nota7'] == "8" ? 'selected' : '' ?>>8</option>
<option value="9" <?= $calificacion['nota7'] == "9" ? 'selected' : '' ?>>9</option>
<option value="10" <?= $calificacion['nota7'] == "10" ? 'selected' : '' ?>>10</option>
</select>
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label for="">Promedio total</label>
<input type="text" class="form-control" name="nota8" value="<?= $calificacion['nota8']; ?>" data-toggle="tooltip" title="Calcule el promedio para actualizar">
</div>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Cerrar</button>
<button type="submit" class="btn btn-success">Actualizar</button>
</div>
</form>
Script para hacer la suma
<script>
function Suma() {
var nota1 = document.calculadora.nota1.value;
var nota2 = document.calculadora.nota2.value;
var nota3 = document.calculadora.nota3.value;
var nota4 = document.calculadora.nota4.value;
var nota5 = document.calculadora.nota5.value;
var nota6 = document.calculadora.nota6.value;
var nota7 = document.calculadora.nota7.value;
try {
nota1 = (isNaN(parseInt(nota1))) ? 0 : parseInt(nota1);
nota2 = (isNaN(parseInt(nota2))) ? 0 : parseInt(nota2);
nota3 = (isNaN(parseInt(nota3))) ? 0 : parseInt(nota3);
nota4 = (isNaN(parseInt(nota4))) ? 0 : parseInt(nota4);
nota5 = (isNaN(parseInt(nota5))) ? 0 : parseInt(nota5);
nota6 = (isNaN(parseInt(nota6))) ? 0 : parseInt(nota6);
nota7 = (isNaN(parseInt(nota7))) ? 0 : parseInt(nota7);
document.calculadora.resultado.value = nota1 + nota2 + nota3 + nota4 + nota5 + nota6 + nota7;
document.calculadora.nota8.value = (document.calculadora.resultado.value / 7).toFixed(1);
} catch (e) {}
}
</script>
Jesús Antonio López Hernández is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.