JavaScript - img src=undefined

   
Vista:

img src=undefined

Publicado por franco (5 intervenciones) el 12/03/2015 21:24:37
Estoy trabajando con marcadores en google map y me sucede lo siguiente

tengo esta variable donde llamo a las imagenes que subo a la base de datos y en la cual utilice una consulta para poder poner dos imagenes dentro de una sola fila (GROUP_CONCAT)

var imagen = markers[i].getAttribute("imagen");
imagen = imagen.split(",");

Y aca muestro esas imagenes.

var html = '<div id="iw-container">' +
'<a href="'+imagen[0]+'" data-lightbox="roadtrip"><img src="'+imagen[0]+'"width=100" height="100"></a>'+
'<a href="'+imagen[1]+'" data-lightbox="roadtrip"><img src="'+imagen[1]+'"width=100" height="100"> </a>'+
'<a href="'+imagen[2]+'" data-lightbox="roadtrip"><img src="'+imagen[2]+'"width=100" height="100"> </a>'+
'</div>';

El problema es que si un marcador tiene menos de 3 imagenes , por ejemplo 2 , una de las imagenes aparece rota. obviamente porq no esta definida. (<img src="undefined" width="100;" height="100">)

Quisiera saber si hay alguna funcion o algo que verifique que si alguna imagen tiene como "SRC" undefined , la remueva o la oculte o haga algo para que no aparezca.

Cualquier ayuda me va a venir bien , 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
Imágen de perfil de xve

img src=undefined

Publicado por xve (1595 intervenciones) el 13/03/2015 09:44:54
Hola franco, si se puede verificar si una variable es undefinied, y es con un simple if()

1
2
3
4
5
6
<script>
if(imagen[2]!=undefined)
{
    var html=html+'<a href="'+imagen[2]+'" data-lightbox="roadtrip"><img src="'+imagen[2]+'"width=100" height="100"> </a>';
}
</script>

Coméntanos, ok?
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

img src=undefined

Publicado por franco (5 intervenciones) el 13/03/2015 15:53:33
Comente las imagenes que estaban puestas para ver si funcionaba lo del "IF" pero creo q lo estoy aplicando mal.
me mostrarias como harias con este codigo?

Gracias y perdon por las molestias!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
if(imagen[1]!=undefined)
            {
                var html=html+'<a href="'+imagen[1]+'" data-lightbox="roadtrip"><img src="'+imagen[1]+'"width=100" height="100"> </a>';
            }
 
        var html =  '<div id="iw-container">' +
                '<div class="iw-title">'+nombre+'</div>' +
                '<div class="iw-content">' +
                    '<div class="iw-subTitle">História</div>' +
            '<div class="iw-subTitle">'+direc+'</div>' +
                    '<div class="iw-subTitle">Contactos</div>' +
                    '<p>VISTA ALEGRE ATLANTIS, SA<br>3830-292 Ílhavo - Portugal<br>'+
                    '<br>Tel. +351 234 320 600<br>email: geral@vaa.pt<br>www: www.myvistaalegre.com</p><br>'+
//   '<a href="'+imagen[0]+'" data-lightbox="roadtrip"><img src="'+imagen[0]+'"width=100" height="100"></a>'+
//    '<a href="'+imagen[1]+'" data-lightbox="roadtrip"><img src="'+imagen[1]+'"width=100" height="100"> </a>'+
//    '<a href="'+imagen[2]+'" data-lightbox="roadtrip"><img src="'+imagen[2]+'"width=100" height="100"> </a>'+
                '</div>' +
                '</div>';
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

img src=undefined

Publicado por franco (5 intervenciones) el 13/03/2015 16:28:54
Quizas algo asi me podria funcionar , y en el else cambiar el alert por alguna funcion q la remueva, pero no sabria cual ,

espero tu respuesta !

1
2
3
4
5
6
7
8
if(typeof(imagen[2]) != "undefined")
{
	alert("si existe");
}
else
{
        alert("no existe");
}
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
Imágen de perfil de xve

img src=undefined

Publicado por xve (1595 intervenciones) el 13/03/2015 22:12:58
Hola Franco, perdoname, te lo puse mal... el var html, unicamente tienes que definirlo una vez... el resto es sin el var

Quedaria así:
1
2
3
4
5
6
<script>
if(imagen[2]!=undefined)
{
    html=html+'<a href="'+imagen[2]+'" data-lightbox="roadtrip"><img src="'+imagen[2]+'"width=100" height="100"> </a>';
}
</script>

Revisa la consola del navegador por si te da algún error de javascript.
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

img src=undefined

Publicado por franco (5 intervenciones) el 14/03/2015 17:26:28
Disculpa que siga molestando con esto , pero probe de la siguiente forma y ni siquiera aparecen las imagenes. debo estar haciendo algo mal yo supongo.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
var imagen = markers[i].getAttribute("imagen");
imagen = imagen.split(",");
 
if(imagen[1]!=undefined)
{
    html=html+'<a href="'+imagen[1]+'" data-lightbox="roadtrip"><img src="'+imagen[1]+'"width=100" height="100"> </a>';
}
 
          var html =  '<div id="iw-container">' +
                    '<div class="iw-title">'+nombre+'</div>' +
                    '<div class="iw-content">' +
                      '<div class="iw-subTitle">História</div>' +
                      //'<iframe src="'+direc+'" width="400" height="400" frameborder="0" style="border:0"></iframe>' +			
					  '<div class="iw-subTitle">'+direc+'</div>'	+
                      '<div class="iw-subTitle">Contactos</div>' +
                      '<p>VISTA ALEGRE ATLANTIS, SA<br>3830-292 Ílhavo - Portugal<br>'+
                      '<br>Tel. +351 234 320 600<br>email: geral@vaa.pt<br>www: www.myvistaalegre.com</p><br>'+
				//	'<a href="'+imagen[0]+'" data-lightbox="roadtrip"><img src="'+imagen[0]+'"width=100" height="100"></a>'+
				//	'<a href="'+imagen[1]+'" data-lightbox="roadtrip"><img src="'+imagen[1]+'"width=100" height="100"> </a>'+
				//	'<a href="'+imagen[2]+'" data-lightbox="roadtrip"><img src="'+imagen[2]+'"width=100" height="100"> </a>'+
                    '</div>' +
                  '</div>';
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
Imágen de perfil de xve

img src=undefined

Publicado por xve (1595 intervenciones) el 14/03/2015 20:06:17
Hola Franco, no puedes poner el condicional arriba y luego definir la variable con var html= ya que lo anterior se pierde... tendría que ser algo así:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
var imagen = markers[i].getAttribute("imagen");
imagen = imagen.split(",");
 
var html="";
 
if(imagen[1]!=undefined)
{
    html=html+'<a href="'+imagen[1]+'" data-lightbox="roadtrip"><img src="'+imagen[1]+'"width=100" height="100"> </a>';
}
 
html=html+'<div id="iw-container">' +
        '<div class="iw-title">'+nombre+'</div>' +
        '<div class="iw-content">' +
            '<div class="iw-subTitle">História</div>' +
            //'<iframe src="'+direc+'" width="400" height="400" frameborder="0" style="border:0"></iframe>' +         
            '<div class="iw-subTitle">'+direc+'</div>'    +
            '<div class="iw-subTitle">Contactos</div>' +
            '<p>VISTA ALEGRE ATLANTIS, SA<br>3830-292 Ílhavo - Portugal<br>'+
            '<br>Tel. +351 234 320 600<br>email: geral@vaa.pt<br>www: www.myvistaalegre.com</p><br>'+
    //  '<a href="'+imagen[0]+'" data-lightbox="roadtrip"><img src="'+imagen[0]+'"width=100" height="100"></a>'+
    //  '<a href="'+imagen[1]+'" data-lightbox="roadtrip"><img src="'+imagen[1]+'"width=100" height="100"> </a>'+
    //  '<a href="'+imagen[2]+'" data-lightbox="roadtrip"><img src="'+imagen[2]+'"width=100" height="100"> </a>'+
        '</div>' +
        '</div>';
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

img src=undefined

Publicado por franco (5 intervenciones) el 14/03/2015 20:53:08
Funciona excelente!! Muchas gracias xve! eres un genio.

Perdón por tantas molestias , y muchas gracias por tu tiempo, ojala hubiera mas gente como vos

una ultima consulta , si quisiera que las imagenes que le agrego a la variable html permanezcan en la posicion donde estaban antes , con la clase div class="iw-content" , como seria?
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