JavaScript - Problema al dar foco a input

   
Vista:

Problema al dar foco a input

Publicado por PasabaPorAqui (52 intervenciones) el 03/12/2008 10:28:36
Buenos días

Explico el problema, tengo una tabla con n filas y m columnas, en la que muestro los datos recogidos de una base de datos.
Esta tabla tambien es editable, celda a celda, para poder insertar registros en la base de datos. Para esto, cuando hago doble click en una celda inserto un input en la celda, el cual al terminar la edición insertará el valor en la celda y quitara el input. Si pulso escape se cancela la edición de la fila y se deshacen los cambios, y al pulsar enter saltamos a la edición de la siguiente celda.
Esto lo hago así porque al poder tener tablas muy grandes, si ponía un input en cada celda se hacia muy pesada la página (todo esto lo monto con javascript+ajax).

El problema lo tengo ahora con IE, al pulsar doble click en una celda y crear el input puedo escribir sin problemas, el problema es que al saltar a la siguiente celda, se crea el input y parece que coge el foco, pero no me deja escribir. Si reconoce el enter para saltar a la siguiente y el escape para cancelar, pero ninguna otra tecla. Pongo el código que crea el input.

var oTextEditCell=document.createElement("input");
oTextEditCell.setAttribute("id","editTextCell");
oTextEditCell.setAttribute("type","text")
oTextEditCell.style.width="100%";
oTextEditCell.style.height="100%";
oTextEditCell.style.height="2em";
oTextEditCell.onblur=objPGrid._cellComponent_OnBlur;
setClassToHTML(oTextEditCell,"editTextCell");
oDiv.appendChild(oTextEditCell);//oDiv es un div oculto donde se mantiene el input mientras no esta en ninguna celda

Y ahora la zona donde le doy el foco

oTextBoxEdit=document.getElementById('editTextCell');
oTextBoxEdit.value="";
oTextBoxEdit.value=oldValue;
celda.innerHTML="";
celda.appendChild(oTextBoxEdit);
oTextBoxEdit.focus();
oTextBoxEdit.select();

esto con el doble click funciona pero no al saltar con el enter.

¿Alguien sabe que puede ser?
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

RE:Problema al dar foco a input

Publicado por PasabaPorAqui (52 intervenciones) el 03/12/2008 18:05:12
El problema por lo que veo lo estoy teniendo porque me esta cogiendo el foco el Td , al cual le inserto la caja de texto.

¿Hay alguna manera de evitar que un td pueda coger foco en IE, o de saber porque dandole el foco a la caja el que lo coge es el td?
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:Problema al dar foco a input

Publicado por PasabaPorAqui (52 intervenciones) el 03/12/2008 18:25:33
Bueno, acabo de comprobar que el td no pilla el foco, el foco lo tiene el input correctamente.

Tambien comprobe que al ponerle un handler en el evento onkeyup, y mostrar por pantalla el código de tecla pulsada, la muestra correctamente, pero no escribe en el input. Por lo demás, este esta "correcto", no esta en modo readonly, ni tapado por nada, ni nada que se me ocurra que pueda evitar la escritura.
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:Problema al dar foco a input

Publicado por Hector (1 intervención) el 14/07/2009 17:28:20
Hola a todos a mi me pasa algo parecido y no logro comprender
. tengo un input type ="text" y no coje el foco
no se que e slo ke me pasa..
necesito resolver este problema lo mas pronto posible.....

Gracias de antes mano.
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