Hola de nuevo,
Por ahí pude cambiar el tag de TD a INPUT con este código:
Código:
<html>
<head>
<script type="text/javascript">
function addCell(par){
var x=document.getElementById('myTable');
var as = x.getElementsByTagName('td');
var y=x.rows[0].insertCell(par); //Crea la nueva celda (<td></td>)
as[par].id="nuevo"; // Asigno id a la etiqueta
var elem = document.getElementById('nuevo');
var children = elem.childNodes;
var padre = elem.parentNode;
var nodo_nuevo = document.createElement("input"); // Creo un nuevo input
for (var i=0; i<children.length; i++) {
newNode.appendChild(children[i]);
}
padre.replaceChild(nodo_nuevo, elem); // Reemplazo la etiqueta <td> por <input ...>
var as = x.getElementsByTagName('input');
as[0].setAttribute("id","nuevo"); // Asigno Atributos
as[0].setAttribute("type","image");
as[0].setAttribute("src","./gif/tool_add.gif");
as[0].setAttribute("width","15px");
as[0].setAttribute("height","15px");
as[0].setAttribute("onClick","alerta();");
/*
var ss = document.getElementById('myTable').innerHTML;
ss = ss.replace(/>/g, ">");
ss = ss.replace(/</g, "<");
document.write(ss);
*/
}
function alerta() {
alert("LLEGO");
}
</script>
</head>
<body>
<form onSubmit="return false;">
<table id="myTable" border="1">
<tbody>
<tr>
<td id="uno">Celda uno<img src="./gif/tool_del.gif" onclick="addCell(1);"></td>
<td id="dos">Celda dos</td>
</tr>
</tbody>
</table>
</form>
</body>
</html>
Lo que puedo observar es que si el insertCell() crea <td></td> con este código me elimina la etiqueta de cierre... (grave la vaina).
Es muy factible que se pueda mejorar... recibo sugerencias y ayudas....
Otra cosa y que a lo seguro es que no sea tema de este foro, pero lo comento. He notado que desde hace dias los codigos js que construyo de un momento a otro se inventa un reload de la pagina, por lo que me veo obligado de incluir en la etiqueta form el onSubmit="return false;"... aunque eso me oblgue a trabajar con ajax.
Trabajo en ambiente Linux, OpenSuse 11.4, he actualizado el FireFox de version 7 a version 8, pensando que tal vez era lio de la version del navegador, pero pailas, sigo en las mismas. Igual sucede con Opera....
Saludos