Foros del Web » Programando para Internet » Javascript »

Array dinamico con objetos, duda

Estas en el tema de Array dinamico con objetos, duda en el foro de Javascript en Foros del Web. Muy buenas, Actualmente tengo un problema para agregar elementos dinámicamente a un array haciendo uso de objetos en javascript, tengo la siguiente estructura que no ...
  #1 (permalink)  
Antiguo 07/08/2015, 04:17
 
Fecha de Ingreso: agosto-2010
Ubicación: Madrid
Mensajes: 25
Antigüedad: 13 años, 8 meses
Puntos: 0
Sonrisa Array dinamico con objetos, duda

Muy buenas,

Actualmente tengo un problema para agregar elementos dinámicamente a un array haciendo uso de objetos en javascript, tengo la siguiente estructura que no me funciona muy bien que digamos:
Código:
<!DOCTYPE html>

<html>

	<head>
		<meta charset="utf-8">


	</head>

<body>

<form>

	<label>Nombre de la pelicula<input type="text"  id="nom_peli"></label>
	<label>Año<input type="text"  id="ano"></label>
	<label>Director<input type="text"  id="director"></label>
	<label>Precio<input type="text"  id="precio"></label>
	<button id="guardar">Guardar</button>


</form>

		<script type="text/javascript">
			

			function Peliculas(){


					this.Guardar=new Array();					

				}


				Peliculas.prototype.Datos=function(iNomPeli,iAno,iDirector,iPrecio){

					
					this.NomPeli=iNomPeli;
					this.iAno=iAno;
					this.iDirector=iDirector;
					this.iPrecio=iPrecio;			


				}


				Peliculas.prototype.mostrar=function(iNomPeli,iAno,iDirector,iPrecio){

				for(i in this.Guardar){

						alert("Precio " + this.Guardar[i].iPrecio);

				}
				
				

				}

			document.getElementById('guardar').onclick=function(){

				var NomPeli= document.getElementById('nom_peli').value;
				var Ano=document.getElementById('ano').value;
				var Director=document.getElementById('director').value;
				var Precio=document.getElementById('precio').value;

				var peliculas=new Peliculas();

				peliculas.Guardar=[new peliculas.Datos(NomPeli,Ano,Director,Precio)];

				peliculas.mostrar();

			}

		</script>

</body>

</html>
Prácticamente lo que se trata es que al introducir datos en un formulario HTML estos se irán cargando en un array para después mostrarlos, hay que hacer uso de objetos; constructores y herencia(prototipado).

Hay maneras más sencillas de hacerlo pero en este caso se pide algo similar a la estructura que he realizado, agradecería cualquier ayuda, idea o información que esta comunidad me pueda brindar.

Desde ya muchos saludos
  #2 (permalink)  
Antiguo 07/08/2015, 12:43
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Array dinamico con objetos, duda

Estás guardando al conjunto de propiedades con los valores que estableces en el método peliculas.Datos en la primera posición de un array que luego asignas a peliculas.Guardar, por lo tanto, en el bucle del método peliculas.mostrar debes de acceder a dicho conjunto de propiedades a partir de la primera posición de peliculas.Guardar.

Código Javascript:
Ver original
  1. Peliculas.prototype.mostrar = function(){
  2.     for(i in this.Guardar[0]){
  3.         alert(i + ": " + this.Guardar[0][i]);
  4.     }
  5. };

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Última edición por Alexis88; 07/08/2015 a las 13:24 Razón: Corrección
  #3 (permalink)  
Antiguo 08/08/2015, 03:22
 
Fecha de Ingreso: agosto-2010
Ubicación: Madrid
Mensajes: 25
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Array dinamico con objetos, duda

Cita:
Iniciado por Alexis88 Ver Mensaje
Estás guardando al conjunto de propiedades con los valores que estableces en el método peliculas.Datos en la primera posición de un array que luego asignas a peliculas.Guardar, por lo tanto, en el bucle del método peliculas.mostrar debes de acceder a dicho conjunto de propiedades a partir de la primera posición de peliculas.Guardar.

Código Javascript:
Ver original
  1. Peliculas.prototype.mostrar = function(){
  2.     for(i in this.Guardar[0]){
  3.         alert(i + ": " + this.Guardar[0][i]);
  4.     }
  5. };

Saludos

Tu respuesta me fue de mucha utilidad, muchas gracias

Saludos

Etiquetas: objetos, prototipos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:11.