Regresar a la página www.ComoCrearTuWeb.com
Resultados 1 al 7 de 7

Tema: Problema con javascript: mostrar resultados en una página a través de imagenes

  1. #1
    Recien Llegado! Habitual
    Fecha de Ingreso
    24 jun, 12
    Mensajes
    12
    Poder de Reputación
    14

    Problema con javascript: mostrar resultados en una página a través de imagenes

    Hola, estoy realizando un pequeño script que pretendo que calcule una serie de resultados, asocie una imagen a dichos resultados y entonces que dichas imagenes me aparezcan en la misma página web más abajo. Sin embargo no me acaba de funcionar la función mostrarResultado() que reproduzco más abajo. No sé si el problema está en que no se puede hacer appendChild con arrays u otro motivo. ¿Alguien me puede decir que hago mal?

    He puesto la parte que afecta a la función, todas las variables estan definidas

    Muchas gracias y perdonad las molestias

    Código HTML:
    <head>
        	<script type="text/javascript">
    		var resultados = new Array();
    		
    		//Creo una función que crea las imagenes de todas los resultados y las incorpora a un elemento div	
    		
    		function mostrarResultado() {
    			var dados = new Array()
    			for (var i=0; i<resultados.length; i++) {
    			 	dados[i] = document.createElement("img");
    				dados[i].src = eval("Resultado " + i + ".gif");
    			        document.getElementById(resultadotirada).appendChild(dados[i]);
    			}
    		}
    		
     	</script>
    </head>
    <body>
       	<div id="resultadotirada"></div>	
    </body>
    Última edición por Vincens; 07/07/2012 a las 12:53

  2. #2
    Me va gustando esto... Habitante Avatar de SurKaiser
    Fecha de Ingreso
    15 oct, 11
    Mensajes
    256
    Poder de Reputación
    16
    Viendolo por encima, tecnicamente la variable resultado no estaria definida intenta asi :

    <head>
    <script type="text/javascript">
    var resultados = new Array();

    //Creo una función que crea las imagenes de todas los resultados y las incorpora a un elemento div

    function mostrarResultado(resultados) {
    var dados = new Array()
    for (var i=0; i<resultados.length; i++) {
    dados[i] = document.createElement("img");
    dados[i].src = eval("Resultado " + i + ".gif");
    document.getElementById("resultadotirada").appendC hild(dados[i]);
    }
    }

    </script>
    </head>
    <body>
    <div id="resultadotirada"></div>
    </body>

    Tambien decirte que siguiendo la logica de tu funcion puede no funcionar porque cometes varios errores logicos.... pero en fin asi deberia funcionar.

    Un saludo.

    PD: Tambien por sintaxis el getElementById debe llevar comillas dentro.

    Saludos
    Mi web en construccion :
    surkaiser . com . es
    "El conocimiento es Poder"

  3. #3
    Recien Llegado! Habitual
    Fecha de Ingreso
    24 jun, 12
    Mensajes
    12
    Poder de Reputación
    14
    Muchas gracias por responder tan rápido, pero el problema no está ahí porque la variable resultados la tengo definida en otra parte del script que no he puesto para no hacerlo más largo. El problema empieza en la linea:

    dados[i] = document.createElement("img");

    Si pongo un alert("Funciona") antes de esa linea me salta al ejecutar el script, si lo pongo después ya no me salta. Soy nuevo pero eso me hace pensar que ahí es donde se atasca. ¿Esa linea está mal definida? es que no veo porque.

  4. #4
    Me va gustando esto... Habitante Avatar de SurKaiser
    Fecha de Ingreso
    15 oct, 11
    Mensajes
    256
    Poder de Reputación
    16
    Te digo lo de la variable resultados, porque siguiendo la logica de programacion en php ahora no recuerdo bien en javascript pero las variables utilizadas en una funcion se deben poner dentro de la funcion ejemplo
    mifuncion(variable1,variable2)
    es decir hacer una herencia de variables globales a la funcion, si bien dices del alert, haz intentado que tu array que haces en el for funcione? es decir que si tenga esos numeros , puedes de igual manera intentarlo con un alert pero metiendo el array algo asi:

    alert("hola "+ i);

    Un saludo.
    Mi web en construccion :
    surkaiser . com . es
    "El conocimiento es Poder"

  5. #5
    Me va gustando esto... Habitante Avatar de SurKaiser
    Fecha de Ingreso
    15 oct, 11
    Mensajes
    256
    Poder de Reputación
    16
    Pues bien, tuve un tiempo libre y me tome la libertad de probar el codigo, y he hayado el error por lo menos como yo hize el script, uno de ellos es que efectivamente debes de pasarle la variable del array cuando invoques a la funcion, es decir crearle la variable a la funcion y despues heredarla asi:

    function hola(mivariable)
    {
    alert(mivariable);
    }

    //crear variable
    var mensaje = "hola mundo";
    //invocar a la funcion
    hola(mensaje);

    asi deberia ser invocada la funcion , lo digo para aclarar todo que tomo en cuenta que ya haz logrado invocar a la funcion por ese alert que dijiste. Pero ademas añadimos aqui la variable que debemos pasarle.
    Tambien decirte que el error principal aparte del que acabo de citar, es otro que habia ya mencionado en mi primer mensaje y el error esta en cuando tomas el div del arbol de nodos DOM ,
    no insertate comillas. Lo encuentro de la siguiente manera : document.getElementById(tuvariableSINCOMILLAS); y la correccion es : document.getElementById("TuvariableconCOMILLAS");
    Recordarte que tambien debes tener las imagenes con el mismo nombre siendo caseSensitiive (diferenciar de mayusculas y minusculas) y estaria todo listo.
    Te dejo el script que hize en base al codigo que mostraste 100% funcionando al menos en mi pc.

    <html>
    <head>
    <script type="text/javascript">
    var resultados = new Array();

    //Creo una función que crea las imagenes de todas los resultados y las incorpora a un elemento div
    resultados[0] = '1';
    resultados[1] = '2';
    resultados[2] = '3';
    function mostrarResultado(resultados) {
    var dados = new Array();
    alert(resultados.length);
    for (var i=0; i<resultados.length; i++) {

    dados[i] = document.createElement("img");
    dados[i].src = "Resultado" + i + ".png";

    document.getElementById("resultadotirada").appendC hild(dados[i]);
    }
    }

    </script>
    </head>
    <body>
    <div id="resultadotirada"></div>
    <a href="#" onclick="mostrarResultado('1')">hola</a>
    </body>
    </html>

    Tambien recalcarte que ahi he usado imagenes png, que son las que tenia a la mano modificar esa parte y probar el codigo.
    Ademas puntializar en que el array encima de la funcion aunque sea variable global la funcion no la tomo como te lo mencione en mi anterior mensaje, en el caso de ese link con Evento del mouse, he puesto solo un '1' como no conozco bien en que parte deseas llamar la funcion lo hize ejemplificativo corregir esa parte en caso de que la llamada sea por un metodo ajax etc.

    Un saludo!.

    PD: Sigue aprendiendo = )
    Mi web en construccion :
    surkaiser . com . es
    "El conocimiento es Poder"

  6. #6
    Recien Llegado! Habitual
    Fecha de Ingreso
    24 jun, 12
    Mensajes
    12
    Poder de Reputación
    14
    Muchisimas gracias, ya me funciona, la verdad es que sorprende lo fácil que es equivocarse. Además, al definir el src de la imagen había puesto /imagenes, y por esa barrita no me aparecía.

    Repito que muchas gracias porque estoy aprendiendo mucho :P

  7. #7
    Me va gustando esto... Habitante Avatar de SurKaiser
    Fecha de Ingreso
    15 oct, 11
    Mensajes
    256
    Poder de Reputación
    16
    Que bien que lo hayas resuelto!.

    Un saludo y puedes poner tus dudas cuando gustes.
    Mi web en construccion :
    surkaiser . com . es
    "El conocimiento es Poder"

Temas Similares

  1. Como mostrar los resultados del action de un formulario en otra página diferente
    Por rixi69 en el foro Php Bases de Datos y MySQL (Nuevo!)
    Respuestas: 5
    Último Mensaje: 21/08/2012, 09:01
  2. Mostrar resultados de la DB en varias páginas
    Por Doodleo en el foro Php Bases de Datos y MySQL (Nuevo!)
    Respuestas: 4
    Último Mensaje: 05/08/2011, 22:06
  3. problema para mostrar los resultados de mi base de datos
    Por alam en el foro Php Bases de Datos y MySQL (Nuevo!)
    Respuestas: 4
    Último Mensaje: 04/04/2011, 14:27
  4. Problema para mostrar las imagenes en la WEB
    Por eitt en el foro Foro General
    Respuestas: 1
    Último Mensaje: 13/04/2009, 17:42

Permisos de Publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •