JavaScript - mostrar registros insertados en una tabla html

   
Vista:

mostrar registros insertados en una tabla html

Publicado por leoalvis (7 intervenciones) el 29/08/2016 18:27:20
Buenos días amigos:

Estoy intentando guardando unos registros sencillos en un arreglo y quiero que cuando pulse el boton "Insertar" me muestre en la parte inferior una tabla con los registros a medida que se van insertando... Al parecer mi lógica esta fallando en la función "mostrarTabla" pero no se que mas hacerle debo hacerlo a base de javascript... Adjunto lo que he hecho hasta ahora, agradezco la ayuda, muchas gracias:

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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
<!DOCTYPE html>
 
<html>
<head>
<title></title>
<script>
window.onload=function(){
 
 
var persona = new Array();
 
 
document.getElementById("btnInsertar").addEventListener("click",insertar);
//document.getElementById("btnMostrar").addEventListener("click",mostrarArray);
 
	function insertar(){
 
 
		var codigo=document.getElementById("txtCod").value;
 
		var nombre=document.getElementById("txtNom").value;
 
		var nota=parseFloat(document.getElementById("txtNota").value);
 
 
		persona.push({ 'codigo': codigo, 'nombre': nombre});
		document.getElementById("txtCod").value="";
		document.getElementById("txtNom").value="";
		document.getElementById("txtNota").value="";
 
		mostrarTabla();
 
	}
 
 
 
	function mostrarTabla(){
 
		var tabla=document.createElement("table");
		var fila;
		var celda;
		for(var i=0;i<persona.length;i++){
 
			var fila=document.createElement("tr");
 
			for	(var j=0;persona[i].length;j++){
				var celda=document.createElement("td");
 
 
				var codi=document.createTextNode(document.getElementsByTagName("td")[j].innerHTML=persona[j].codigo);
				var nom=document.createTextNode(document.getElementsByTagName("td")[j].innerHTML=persona[j].nombre);
				var not=document.createTextNode(document.getElementsByTagName("td")[j].innerHTML=persona[j].nombre);
 
				var codigo=fila.appendChild(celda.appendChild(codi));
				var nombre=fila.appendChild(celda.appendChild(nom));
				var nota=fila.appendChild(celda.appendChild(not));
 
			}
 
		}
 
		tabla.appendChild(fila);
 
		document.body.appendChild(tabla);
 
	}
 
 
}
</script>
</head>
<body>
 
<h1>Persona</h1><br>
 
<label>Codigo</label><br>
<input type="text" id="txtCod"><br>
<label>Nombre</label><br>
<input type="text" id="txtNom"><br><br>
<label>Nota</label><br>
<input type="text" id="txtNota"><br><br>
<input type="button" id="btnInsertar" value="Insertar">
 
 
 
</body>
</html>
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 xve

mostrar registros insertados en una tabla html

Publicado por xve (1774 intervenciones) el 29/08/2016 20:16:12
Hola, he tenido que modificar bastante al función mostrarTabla()... modificala y ponla así:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function mostrarTabla(){
 
	var tabla=document.createElement("table");
	var fila;
	var celda;
	for(var i=0;i<persona.length;i++){
 
		var fila=document.createElement("tr");
 
		var celda=document.createElement("td");
 
		celda.appendChild(document.createTextNode(persona[i].codigo));
		celda.appendChild(document.createTextNode(persona[i].nombre));
		celda.appendChild(document.createTextNode(persona[i].nombre));
 
		fila.appendChild(celda)
 
		tabla.appendChild(fila);
	}
 
	document.body.appendChild(tabla);
 
}
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

mostrar registros insertados en una tabla html

Publicado por leoalvis (7 intervenciones) el 29/08/2016 21:36:48
Huyyyyy excelente xve... Una vez mas me scaste del limbo... para complementar tu solución saque las lineas de los appendchild de "fila" y "tabla" del ciclo for para que en la salida del navegador no se repitiera los datos que ya había ingresado... Pero total mi hermano todo el credito por tu solución y veo que yo me estaba complicando de mas... Muchísimas gracias.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
function mostrarTabla(){
 
	var tabla=document.createElement("table");
	var fila;
	var celda;
	for(var i=0;i<persona.length;i++){
 
		var fila=document.createElement("tr");
 
		var celda=document.createElement("td");
 
		celda.appendChild(document.createTextNode(persona[i].codigo));
		celda.appendChild(document.createTextNode(persona[i].nombre));
		celda.appendChild(document.createTextNode(persona[i].nombre));
 
	}
 
fila.appendChild(celda)
 
		tabla.appendChild(fila);
 
	document.body.appendChild(tabla);
 
}
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