
13/07/2005, 00:40
|
 | Moderador extraterrestre | | Fecha de Ingreso: diciembre-2001 Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 23 años, 2 meses Puntos: 61 | |
Me alegro de que te haya funcionado. Y te lo explico. La sentencia es esta: opener.document.forms['name_del_form']['name_del_input'].value = this.src;self.close() opener se refiere a la ventana que ha abierto la ventana en la que se ejecuta. De forma que sólo funcionará en un popup. document se refiere a el contenido de la ventana, todo lo que contiene página web. Es decir, la ventena del navegador sin la barra de estado, el panel lateral, los botones... es decir: el documento que está mostrando el navegador en ese momento. forms es un array que contiene todos los formularios que hay en el documento en ese momento. Al poner entre los corchetes el name del formulario que queremos estamos refiriéndonos a ese formulario en concreto.
En el siguiente corchete hacemos lo mismo con el input. Es como si dijéramos "dentro de este formulario, fíjate en este input". Y por último está el value, es decir el contenido de ese input.
Así que si recapitulamos le hemos dicho al popup que vaya a la ventana que le ha abierto, que mire dentro de su documento si tiene el formulario "name_de_form" y dentro de éste el input "name_del_input". Si es así su valor es igual a...
Vamos a ver la segunda parte. El código se está ejecutando en una imagen en concreto. al poner this estamos refiriendonos a esa imagen, más concretamente a ese objeto, ya que si lo usaramos con un input estaríamos refiriendonos a ese input. Es decir, this es como un comodín que representa al objeto que lo contiene. src es el atributo src de la imagen, que como bien sabes se refiere a la ruta de la imagen. Si emplearamos esa sentencia this.src con un input, por ejemplo, nos daría error porque los input no tienen el atributo src.
Así pues lo que le decimos al navegador con este código es que en la ventana madre (opener), vaya al documento (document), busque el campo "name_del_input" dentro del formulario "name_de_form" (forms['name_de_form']['name_del_input']) y le de el valor que tiene el atributo src que está dentro de la imagen que hemos pinchado.
Luego, el punto y coma sirve para separar sentencias. Una vez cambiado el value del input se le pide que vaya a "self", es decir, a la ventana donde se está ejecutando el script (self es como un this aplicable sólo a las ventanas). Y se le dice que la cierre con close(). Es como una sentencia de autodestrucción para la pobre ventana.
Espero que te haya servido mi mala explicación.
Un saludo!
__________________ Cómo escribir
No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia. |