Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/08/2007, 03:08
GoRaXaN
 
Fecha de Ingreso: julio-2007
Mensajes: 21
Antigüedad: 17 años, 5 meses
Puntos: 0
Agregar eventos dinamicamente (attachEvent)

Hola a todos, dispongo de una tabla la cual quiero modificar algunos campos. La idea es que al hacer click en una celda, esta se convierta en un tampo de texto para poder editarlo. Cuando el foco se vaya de ese campo de texto quiero que el campo de texto se convierta en el antiguo campo pero con el valor modificado.

Asi pues tengo 2 funciones, una que me convierte de "normal" a input text (to_input) y otra que hace la operacion inversa (from_input). El problema surge al insertar el evento onBlur (que deberia llamar a la funcion from_input), no consigo hacerlo. Aqui esta el codigo a ver que hago mal.

Código:
  function to_input(celda,fila){

    tr=document.createElement('td');
    input=document.createElement('input');
    input.setAttribute('type','text');
    input.setAttribute('width','200');
    input.setAttribute('value',celda.innerHTML);
    tr.appendChild(input);
    //input.attachEvent( "onDblClick", from_input);
    input.onDblClick = from_input(this,this.parentNode);
    fila.insertBefore(tr,celda);
    celda.parentNode.removeChild(celda);
    alert(fila.innerHTML);
  }
  
  function from_input(input,celda){
    alert("evento capturado correctamente, valor del input = "+input.value);
  }
Me da error en la instruccion en negrita, alguna sugerencia? Si no se puede hacer asi, como seria con attachEvent (todos los ejemplos que he visto apuntan a funciones sin parametros asi que no me sirven).
PD: El evento es onBlur solo que para hacer pruebas lo hago con onDblClick