JavaScript - parámetros problemáticos

 
Vista:

parámetros problemáticos

Publicado por Fran (3 intervenciones) el 28/02/2009 14:51:41
Hola! tengo un problema,
tengo una imagen con un onclick en el que le paso como parámetros el nombre de esa imagen y el alt a una función llamada pasa():

<img name="img1" src="IMG/green.JPG" width=120 height=27 alt="libre" border="0" onclick="pasa(this.name,this.alt)">

Luego la función cambia la imagen (modificando el src), porque es una imagen en verde que cuando se pinche cambia a otra que es roja:
A la función se le pasa el parámetro alt, además de name, para indicar si está libre (verde) u ocupado(rojo) en la función es alto, y name es nombre:

<script>
function pasa(nombre, alto){
if(alto == 'libre'){
document.img1.src= "IMG/red.JPG"
document.img1.alt = 'ocupado'

}else{
document.img1.src= "IMG/green.JPG"
document.img1.alt = 'libre'
}
}
</script>

Esto me funicona correctamente, el problema es cuando tengo más de una imagen, si quiero optimizar esto y no utilizar switchcase, en lugar de

document.img1.src = "IMG/red.JPG" , me gustaría poner:

"document.NOMBRE.src = "IMG/red.JPG""

Cuando NOMBRE es el name de ese campo de formulario (de una imagen) que paso por la función como parametro.
Por qué si se reconoce: document.img1 ??
y no: document.nombre ??
es decir, sí que reconoce el nombre del campo, pero no un parámetro que tiene el valor del nombre del campo.
¿¿alguien sabe esto por qué??
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 ScriptShow
Val: 2.019
Plata
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

RE:parámetros problemáticos

Publicado por ScriptShow (692 intervenciones) el 01/03/2009 01:10:30
Saludos Fran,

prueba este ejemplo:

<script>
function pasa(nombre, alto){
if(alto == 'libre'){
document.images[nombre].src= "IMG/red.JPG"
document.images[nombre].alt = "ocupado"

}else{
document.images[nombre].src= "IMG/green.JPG"
document.images[nombre].alt = "libre"
}
}
</script>

<img name="img1" src="IMG/green.JPG" width=120 height=27 alt="libre" border="0" onclick="pasa(this.name,this.alt)">
<img name="img2" src="IMG/green.JPG" width=120 height=27 alt="libre" border="0" onclick="pasa(this.name,this.alt)">

Espero sea útil.
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

RE:parámetros problemáticos

Publicado por Fran (3 intervenciones) el 03/03/2009 19:22:18
Muchas gracias Script Show, funciona correeeectamente
me ha servido de mucho,
sabía que no me equivocaba en la programación, sino en el concepto en sí. Ahora caigo en que las imágenes del formulario se guardan en una matriz llamada images, y se accede a ellas mediante el índice [nombre]..(en mi caso)

Gracias Tío!!!

Saludos y hasta la próxima!!
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