JavaScript - definir parametro multiple

   
Vista:

definir parametro multiple

Publicado por andrea (3 intervenciones) el 10/06/2013 23:51:09
Espero que por favor alguien me ayude. Lo volveré a explicar mejor, a ver si es eso...

Bueno este script es crear una tabla llamada disco e insertar los datos mediante el formulario. Lo tengo bien y funciona, aun asi pego el codigo para que veais como es:

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
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Discos musicales</title>
</head>
<body bgcolor="pink">
<script type="text/javascript">
 
	//Disco y los campos que tendrá el disco
	function NuevoElemento (id,autor,ncanciones,titulodisco,tipomusica){
		this.id=id;
		this.autor=autor;
		this.ncanciones=ncanciones;
		this.titulodisco=titulodisco;
		this.tipomusica=tipomusica;
	}
 
	//Donde llegan los datos dados por el formulario
	function insertardatos (ides,autores,canciones,titulos,tipos){
		id=document.form1.id.value;
		autor=document.form1.autor.value;
		ncanciones=document.form1.ncanciones.value;
		titulodisco=document.form1.titulodisco.value;
		tipomusica=document.form1.tipomusica.value;
 
		var nuevo = new NuevoElemento (id,autor,ncanciones,titulodisco,tipomusica);
		Discos.push(nuevo);
		document.form1.id.value='';
		document.form1.autor.value='';
		document.form1.ncanciones.value='';
		document.form1.titulodisco.value='';
		document.form1.tipomusica.value='';
		}
 
	//Listado de datos introducidos
	function ver (disco_lis) {
				document.write('<center><h2>' + '<table border=1>');
				document.write('<CAPTION><b> Disco Musical <b></CAPTION>');
				document.write('<br>');
				document.write('<th> ID </th><th> Autor </th><th> Canciones </th><th> Titulo disco </th><th> Tipo de musica </th>');
				for (var i=0; i < disco_lis.length; i++){
					document.write('<tr>');
					document.write('<td>' + disco_lis[i].id + '</td>'+'<td>' + disco_lis[i].autor + '</td>' + '<td>' + disco_lis[i].ncanciones + '</td>' + '<td>' + disco_lis[i].titulodisco + '</td>' + '<td>' + disco_lis[i].tipomusica + '</td>');
					document.write('</tr>');}
				}
 
	var i, id, autor, ncanciones, titulodisco, tipomusica;
	var Discos = new Array();
 
</script>
 
<form name="form1">
<center><h2>
<table><caption><b>Disco musical</b></caption>
<br>
<tr><td align=left>ID:</td>
	<td colspan=2><input type="text" name="id" size=3></td></tr>
<tr><td align=left>Autor:</td>
	<td colspan=2><input type="text" name="autor" size=100></td></tr>
<tr><td align=left>Numero de canciones:</td>
	<td colspan=2><input type="text" name="ncanciones" size=3></td></tr>
<tr><td align=left>Titulo del disco</td>
<td colspan=2><input type="text" name="titulodisco" size=100></td></tr>
<tr><td align=left>Tipo de musica</td><td colspan=2>
	<select name=tipomusica>
	<option value="Elegir">Elegir
	<option value="Pop">Pop
	<option value="Rock">Rock
	<option value="Funky">Funky
	<option value="Clasica">Clasica
	</select>
</td></tr>
<tr><td></td><td colspan=2><input type="Button" value="Grabar datos" onclick="insertardatos()"><input type="Button"value="Ver datos" onclick="ver(Discos);"></td></tr>
</tr></td>
</table>
</h2></center>
</form>
</body>
</html>


Ahora bien, partiendo de esto tengo que sacar el disco con más numero de canciones para ello he pensado hacer esto donde estaba la funcion ver:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function ver (disco_lis,cancion_lis) {
				document.write('<center><h2>' + '<table border=1>');
				document.write('<CAPTION><b> Disco Musical <b></CAPTION>');
				document.write('<br>');
				document.write('<th> ID </th><th> Autor </th><th> Canciones </th><th> Titulo disco </th><th> Tipo de musica </th>');
				for (var i=0; i < disco_lis.length; i++){
					document.write('<tr>');
					document.write('<td>' + disco_lis[i].id + '</td>'+'<td>' + disco_lis[i].autor + '</td>' + '<td>' + disco_lis[i].ncanciones + '</td>' + '<td>' + disco_lis[i].titulodisco + '</td>' + '<td>' + disco_lis[i].tipomusica + '</td>');
					document.write('</tr>');}
 
				document.write('</table></h2></center>');
				document.write('<br>')
				document.write('<center><h2>' + '<table border=1>');
				document.write('<CAPTION><b>Disco con más números de canciones<b></CAPTION>');
				document.write('<br>');
				document.write('<th> Canciones </th> <th> Titulo disco </th>');
				for (var x=0; x > cancion_lis.length; x--){
					document.write('<tr>');
					document.write('<td>' + cancion_lis[x].ncanciones + '</td>' + '<td>' + cancion_lis[x].titulodisco + '</td>');
					document.write('</tr>');
					}
				document.write('</table></h2></center>');
				}


Cuando paso la consola de errores me dice que cancion_lis no está definido, ahora bien, alguien puede decirme como puedo ver las dos tablas y definir cancion_lis, que no lo se.

GRACIAS.
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

definir parametro multiple

Publicado por martin (45 intervenciones) el 11/06/2013 02:30:18
Bueno por lo pronto (si bien a JS no le importa) la funcion "ver" espera dos parametros, y ambos son usados por la funcion, con lo cual la falta de esté, hace que te de ese error.

vos cuando llamas a ver(Discos) solo estas pasando un paramatro.
De donde sale cancion_liso de donde debería salir??
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

definir parametro multiple

Publicado por Andrea (3 intervenciones) el 11/06/2013 02:58:52
lo pregunto porque no lo se...
Pues sale como disco_lis, le pongo canciones_lis pero quiero saber como defino cancion lis para que se pueda ver ( sinceramente no entiendo que quieres decir) o como puedo ver con una funcion parecida a function ver la tabla de el disco que tenga mas canciones. Yo no tengo ni idea estoy aprendiendo o intentandolo desde hace poco, por lo que si alguien me arregla esa parte con una explicacion para lerdos se lo agradeceria.

Pd, lo que pongp abajo es el mismp codigo de function y yo le añadi cancion lis, no es qe sea un codigo aparte.
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