Guardar registros tabla dinámica y mostrarlos con Javascript para val
Publicado por miguel (4 intervenciones) el 28/05/2019 00:45:11
Hola amigos: tengo una tabla en la que añado o elimino mediante botones las filas con sus correspondientes campos, conformando así una matriz de "i" filas x "j" columnas. Todos los inputs del formulario son procesados como un array y guardados en una B.D tal cual sin validarlos. El problema lo tengo cuando quiero validarlos antes de enviarlos a la B.D , que lo hago llamando a la función correspondiente en JavaScript. El código solo me llega a mostrar el primer registro de la tabla esto es, el bucle que recorre el array, vuelve a mostrar siempre los datos de la primera fila de la tabla y no encuentro el motivo del por qué el resto de filas no. Les estaría muy agradecido me echaran una mano. Gracias.
--------------------- Codigo javascript --------------------------------------
--------------------------------- Código Tabla dinámica (html)------------------------------------------
--------------------- Codigo javascript --------------------------------------
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
function agregarFila(){
document.getElementById("tablainvitados").insertRow(-1).innerHTML =
'<td><input id="nomape_nosocio" type=text name=nomape_nosocio[]/></td><td><input id="dni_nosocio" type=text name=dni_nosocio[]/></td>';
}
function eliminarFila(){
var table = document.getElementById("tablainvitados");
var rowCount = table.rows.length;
//console.log(rowCount);
if(rowCount <= 1)
alert('No se puede eliminar el encabezado');
else
table.deleteRow(rowCount -1);
}
function pregunta_Validar_Campos(){
var aArray= [document.getElementById('nomape_nosocio').value,document.getElementById('dni_nosocio').value];
var table = document.getElementById("tablainvitados");
var rowCount = table.rows.length;
// Recorremos todas las filas y columnas de la tabla con el objetivo de recuperar y validar todos los campos introducidos en la tabla
for (var i = 0; i < rowCount-1; i++) {
for (var j= 0; j < aArray.length; j++) {
document.write( "El valor de la posición [" + i+ "][" +j+ "] es [" +aArray[j] + "]<br/>" ); // aqui solo testea los valores recibidos llegando solo los campos de la primera fila
}
}
if (confirm('Los datos serán guardados en la Base de Datos. ¿Estás seguro de realizar esta acción?'))
{document.Actualizar.submit() }
}
--------------------------------- Código Tabla dinámica (html)------------------------------------------
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
<form name="Actualizar" action="" method="POST">
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.2/css/bootstrap.min.css" rel="stylesheet"/>
<div class="container">
<div class="row">
<table border="1" class="table" id="tablainvitados">
<thead class="thead-dark">
<tr>
<th>Nombre y Apellidos</th>
<th>NIF</th>
</tr>
<td><input id="nomape_nosocio" type=text name=nomape_nosocio[] value="" /></td>
<td><input id="dni_nosocio" type=text name=dni_nosocio[] value=""/></td>
</tr>
</thead>
</table>
<div class="form-group">
<button type="button" class="btn btn-primary mr-2" onclick="agregarFila()">Agregar Fila</button>
<button type="button" class="btn btn-danger mr-2" onclick="eliminarFila()">Eliminar Fila</button>
<button type="button" class="btn btn-success" onclick="pregunta_Validar_Campos()">Actualizar Datos</button>
</div>
</div>
</form>
Valora esta pregunta
0