Código:
En resumen lo que hace es agregar una linea con todas sus columnas en vivo y en directo con todos los objetos que estas contengan, cambiando el id de cada objeto nuevo que se crea incrementado un numero al final del nombre de cada objeto exceptuando en boton Añadir Fila (El codigo fue tomado gracias a la colaboración de un mienbro de este foro); todo esto se genera con la función "complementaria2()" existe otra función que hace lo mismo pero de manera más basica sin cambiar el id de cada objeto ni nada de lo que ya comente antes, dicha funcion es "add()". el problema es que la primera función funciona pperfectamente pero en IE y no el Firefox al segunda función si funciona en ambas pero no me hace el trabajo como yo deseo. <!DOCtype html PUBLIC "-//W3C//Dtd XHTML 1.0 Transitional//EN" "http://www.w3.org/tr/xhtml1/Dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <script language="JavaScript"> // ANTES ESTABA ASÍ //var li=2; var li=1; function complementaria2(){ var objTabla = document.getElementById("t2"); var objTbody=objTabla.firstChild; /*var lent=objTbody.childNodes.length; var table=objTabla.rows[0].cloneNode(true); objTabla.appendChild(table);*/ //alert(li++); li++ var objNuevaFila=objTbody.childNodes[0].cloneNode(true); //cambiamos el contenido de las celdas objNuevaFila.childNodes[0].innerHTML="<input type=\"text\" id=\"CompCurso"+li+"\" name=\"CompCurso"+li+"\" onClick= \"muestrame(id)\" >"; objNuevaFila.childNodes[1].innerHTML="<input type=\"text\" id=\"CompCentro"+li+"\" name=\"CompCentro"+li+"\" onClick= \"muestrame(id)\" >"; objNuevaFila.childNodes[2].innerHTML="<input type=\"text\" id=\"CompHoras"+li+"\" name=\"CompHoras"+li+"\" onClick= \"muestrame(id)\" >"; objNuevaFila.childNodes[3].innerHTML="<input type=\"text\" id=\"CompObservac"+li+"\" name=\"CompObservac"+li+"\" onClick= \"muestrame(id)\" >"; objNuevaFila.childNodes[4].innerHTML="<input type=\"button\" name=\"compb\" value=\"Añadir Curso\" onClick=\"complementaria2();\">"; objTbody.appendChild(objNuevaFila); //l es el contador de las filas de la tabla, hago -2 porque yo lo tengo inicializado a 2 //y la primera fila es la 0 objTbody.childNodes[li-2].childNodes[4].innerHTML = " "; //actualizamos la variable del formulario que indica el numero de filas document.getElementById("numFilas").value = li; //incrementamos para la siguiente fila //li++; document.getElementById("repet").value=li; } function add(tabla) { var tblBody = document.getElementById('t2').tBodies[0]; var newNode = tblBody.rows[0].cloneNode(true); tblBody.appendChild(newNode); } function muestrame(id){ datoxt= document.getElementById(id).value; alert(id); } </script> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Documento sin título</title> </head> <body> <DIV id="comp"> <FORM name="formulario"> <input type="text" name="repet" id="repet" /> <INPUT type="hidden" name="numFilas" value="1"/> <TABLE id = "t2" BORDER="2" WIDTH="90%" CELLPADDING="5" CELLSPACING="5" bordercolor="#FFcc33"> <TR> <TD><INPUT TYPE="text" VALUE="" NAME="CompCurso1"></TD> <TD><INPUT TYPE="text" VALUE="" NAME="CompCentro1" ></TD> <TD><INPUT TYPE="text" VALUE="" NAME="CompHoras1" ></TD> <TD><INPUT TYPE="text" VALUE="" NAME="CompObservac1" id="CompObservac1" onClick="muestrame(id)" ></TD> <td><input type="button" name="compb" value="Añadir Fila" onClick="complementaria2();"></td> <td><input type="button" name="compb2" value="Añadir new" onClick="add();"></td> </TR> </TABLE> <TABLE> <TR> <TD> <a href="javaScript:alert(document.getElementById('numFilas').value)"> mostrar numero filas</a> </TD> </TR> </TABLE> </FORM> </DIV> <p> </p> </body> </html>
Tengo una hipotesis que es esta linea la que me da problemas en firefox
Código Javascript:
en la función "complementaria2()" no genera ningun tipo de error simplemente no ejecuta el codigo.Ver original
var table=objTabla.rows[0].cloneNode(true);
agradezco de antemano su colaboración.