Esto de Javascript me esta dando dolores de cabeza :P, con su ayuda he hecho una rutina para agregar celdas a una tabla y funciona muy bien en Firefox, pero el problema viene cuando abro con el Internet Explorer, ya que marca un error, le active la herramienta para hacer debug y el error señala a la línea dónde esta el insertBefore.
Según yo todo el código esta normalito o habra por ahí algún parametro que no este bien puesto?
les dejo el código de la función JS
Código:
Qué anda? var count=2; function addRows(id,mitabla,button){ fila = mitabla.parentNode.parentNode; tbody = fila.parentNode; lineas = tbody.getElementsByTagName('tr'); var row = document.createElement('TR'); row.className="background_ppm"; var tn1 = document.createElement("TD"); tn1.innerHTML=""; tn1.setAttribute("colspan","8"); var tn2 = document.createElement("TD"); if(button==1){ tn2.innerHTML="<input type='button' onclick='removeRows(this)' value=' -'>"; } else{ tn2.innerHTML=""; } var t0 = document.createElement("TD"); celda0 =document.createElement("input"); celda0.setAttribute("type","text"); celda0.setAttribute("name","peso_charola_"+id+"[]"); celda0.setAttribute("id","peso_charola_"+id); celda0.setAttribute("size","4"); celda0.setAttribute("maxlength","8"); celda0.setAttribute("style","text-align:right"); celda0.setAttribute("onchange","calcula_ppm(" + id + "," + count + ")"); celda0.setAttribute("align","center"); t0.appendChild(celda0) var t1 = document.createElement("TD"); celda1 =document.createElement("input"); celda1.setAttribute("type","text"); celda1.setAttribute("name","tot1_"+id+"[]"); celda1.setAttribute("id","tot1_"+id); celda1.setAttribute("size","4"); celda1.setAttribute("maxlength","8"); celda1.setAttribute("style","text-align:right"); celda1.setAttribute("onchange","calcula_ppm(" + id + "," + count + ")"); celda1.setAttribute("align","center"); t1.appendChild(celda1) var t2= document.createElement("TD"); celda2 =document.createElement("input"); celda2.setAttribute("type","text"); celda2.setAttribute("name","tot2_"+id+"[]"); celda2.setAttribute("id","tot2_"+id); celda2.setAttribute("size","4"); celda2.setAttribute("maxlength","8"); celda2.setAttribute("style","text-align:right"); celda2.setAttribute("onchange","calcula_ppm(" + id + "," + count + ")"); celda2.setAttribute("align","center"); t2.appendChild(celda2) var t3= document.createElement("TD"); celda3 =document.createElement("input"); celda3.setAttribute("type","text"); celda3.setAttribute("name","peso_pvc_"+id+"[]"); celda3.setAttribute("id","peso_pvc_"+id); celda3.setAttribute("size","4"); celda3.setAttribute("maxlength","8"); celda3.setAttribute("style","text-align:right"); celda3.setAttribute("onchange","calcula_ppm(" + id + "," + count + ")"); celda3.setAttribute("align","center"); t3.appendChild(celda3) var t4= document.createElement("TD"); celda4 =document.createElement("input"); celda4.setAttribute("type","text"); celda4.setAttribute("name","ppm_"+id+"[]"); celda4.setAttribute("id","ppm_"+id); celda4.setAttribute("size","4"); celda4.setAttribute("readonly",""); celda4.setAttribute("style","text-align:right; background-color:#9F9F9F"); celda4.setAttribute("onchange","calcula_ppm(" + id + "," + count + ")"); celda4.setAttribute("align","center"); t4.appendChild(celda4) row.appendChild(tn1); row.appendChild(t0); row.appendChild(t1); row.appendChild(t2); row.appendChild(t3); row.appendChild(t4); row.appendChild(tn2); for (i=0; ele = lineas[i]; i++){ if (ele==fila){ break; } } if (i==lineas.length-1){ tbody.appendChild(row); } else{ tbody.insertBefore(row,lineas[i+2]); } count++; }