Foros del Web » Programando para Internet » Javascript »

Modificar un objeto desde el evento de otro objeto

Estas en el tema de Modificar un objeto desde el evento de otro objeto en el foro de Javascript en Foros del Web. Hola a todos. Hoy he empezado a usar javascripts y creo que le voy pillando el truco... pero me he quedado enganchado en una cosa ...
  #1 (permalink)  
Antiguo 15/05/2009, 09:48
 
Fecha de Ingreso: marzo-2008
Mensajes: 383
Antigüedad: 16 años, 2 meses
Puntos: 5
Exclamación Modificar un objeto desde el evento de otro objeto

Hola a todos. Hoy he empezado a usar javascripts y creo que le voy pillando el truco... pero me he quedado enganchado en una cosa y por internet no veo ejemplos que me puedan servir, espero que alguna alma caritativa me pueda ayudar...

Tengo un Botón y un textarea.
Inicialmente el textarea esta con 'visibilidad = false'. La función del botón es que cuando le haga click cambie la propiedad del textarea a 'visibilidad = true'.

El botón tiene el siguiente código:

<input type='button' onClick='comen(this)'>

y el Script al cual hace referencia es:

function comen(obj) {

}


Alguna idea?

Gracias
  #2 (permalink)  
Antiguo 15/05/2009, 09:50
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Modificar un objeto desde el evento de otro objeto

Puedes usar document.getElementById() para obtener la referencia a un elemento con el id especificado. Por ejemplo, supongamos que tu textarea tiene id="comentario". Entonces sólo tienes que usar:
Código javascript:
Ver original
  1. var obj = document.getElementById("comentario");
Con eso ya obtienes la referencia y puedes trabajar con ella.

Saludos.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 15/05/2009, 11:54
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: Modificar un objeto desde el evento de otro objeto

La referencia this que le pasas como parametro, en tu caso te devolvería una referencia al mismo botn que ha sido precionado, o en el peor de los casos, a la ventana del navegador. En tu caso no necesitas mandar una referencia a this. Como dice David, solo usa getElementById. Después para asignar el valor basta con modificar el estilo del elemento:

Código javascript:
Ver original
  1. obj.style.visibility = 'visible'
__________________
twitter: @imbuzu
  #4 (permalink)  
Antiguo 16/05/2009, 06:04
 
Fecha de Ingreso: marzo-2008
Mensajes: 383
Antigüedad: 16 años, 2 meses
Puntos: 5
Respuesta: Modificar un objeto desde el evento de otro objeto

No me funciona!

Tengo este textarea:

<textarea style='color: black; background-color: white; border-color:lightgrey; border-width:1px; visibility:hidden' id='txa1' cols='70' rows='1' onKeyPress='cambiaLineas(event,this)' onBlur='salir(event,this)' onClick='visible()'></textarea>

Y en el script

Código PHP:
<SCRIPT type="text/javascript">
    function 
cambiaLineas(eobj) {
        if (
window.event// IE
        
keynum e.keyCode; }
        else if (
e.which// Netscape/Firefox/Opera
        
keynum e.which; }
        if (
keynum == 13)
         
obj.rows += 1;}

     function 
salir(eobj) {
        var 
rows obj.rows ;
        var 
text obj.value;
        if (
obj.value == ""
        {  
obj.rows 1; }
        else if (
e.which)
        { }
        }
               

    function 
visible() {
        var 
obj document.getElementById(txa1);
        
obj.style.visibility 'visible';      
    }

</SCRIPT> 

Que hago mal?
Los eventos cambialineas y sarlir me funcionan, pero el visible no
  #5 (permalink)  
Antiguo 16/05/2009, 11:58
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Modificar un objeto desde el evento de otro objeto

txa1 no es una variable, es una cadena, por lo que debe ser:
Código Javascript:
Ver original
  1. var obj = document.getElementById("txa1");
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
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 21:27.