Ver Mensaje Individual
  #6 (permalink)  
Antiguo 13/04/2016, 01:04
newb
 
Fecha de Ingreso: marzo-2014
Mensajes: 41
Antigüedad: 10 años, 8 meses
Puntos: 0
Respuesta: obtener valores de tabla

Si lo hacia como dijo caricatos tenia un error ya que decia que no podia hacer innerHTML de undefined entonces agregue eso que encontre en una pagina. Sin embargo me esta devolviendo como resultado NaN O.o

@Fernando te refieres a esto?: http://www.w3schools.com/jsref/prop_html_tabindex.asp


Código HTML:
Ver original
  1. <!DOCTYPE html>
  2.  
  3.     <head>
  4.         <title>Examen 1</title>
  5.         <meta charset="UTF-8">
  6.         <link rel="shortcut icon" href="">
  7.         <script src="scripts.js" type="text/javascript"></script>
  8.     </head>
  9.     <body>
  10.         <div id="contents">
  11.             <div id="divForm">
  12.                 <form onsubmit="agregaFila(); return false;">
  13.                     <table>
  14.                         <tr>
  15.                             <td>iD: </td>
  16.                             <td><input type="text" id="inId"></td>
  17.                         </tr>
  18.                         <tr>
  19.                             <td>Apellido: </td>
  20.                             <td><input type="text" id="inApellido"></td>
  21.                         </tr>
  22.                         <tr>
  23.                             <td>Nombre: </td>
  24.                             <td><input type="text" id="inNombre"></td>
  25.                         </tr>
  26.                         <tr>
  27.                             <td colspan="2"><input type="submit" style="margin-left: 50px;" value="Enviar"> <input type="button" id="borrar" value="Borrar"></td>
  28.                         </tr>
  29.                     </table>
  30.                 </form>
  31.             </div>
  32.             <hr>
  33.             <div id="divTabla">
  34.                 <table id="tablaDatos">
  35.                     <tr>
  36.                         <td>ID</td>
  37.                         <td>Apellido</td>
  38.                         <td>Nombre</td>
  39.                         <td>Examen 1</td>
  40.                         <td>Examen 2</td>
  41.                         <td>Examen 3</td>
  42.                         <td>Promedio</td>
  43.                     </tr>
  44.                 </table>
  45.             </div>
  46.         </div>
  47.     </body>
  48. </html>


Código Javascript:
Ver original
  1. function agregaFila(){
  2.     var refTabla=document.getElementById("tablaDatos");
  3.    
  4.     obj=new Object();
  5.     obj.dato1=document.getElementById("inId").value;
  6.     obj.dato2=document.getElementById("inApellido").value;
  7.     obj.dato3=document.getElementById("inNombre").value;
  8.    
  9.    
  10.     var nuevaFila=refTabla.insertRow(-1);
  11.     var nuevaCelda;
  12.    
  13.     nuevaCelda=nuevaFila.insertCell(-1);
  14.     nuevaCelda.setAttribute("class","id")
  15.     nuevaCelda.innerHTML=obj.dato1;
  16.    
  17.     nuevaCelda=nuevaFila.insertCell(-1);
  18.     nuevaCelda.setAttribute("class","apellido")
  19.     nuevaCelda.innerHTML=obj.dato2;
  20.    
  21.     nuevaCelda=nuevaFila.insertCell(-1);
  22.     nuevaCelda.setAttribute("class","nombre")
  23.     nuevaCelda.innerHTML=obj.dato3;
  24.    
  25.     for(var i=0;i<3;i++){
  26.         nuevaCelda=nuevaFila.insertCell(-1);
  27.         nuevaCelda.setAttribute("class","nota")
  28.         nuevaCelda.innerHTML="<input type='text' value='0' onblur='calculaPromedio(this)'>";
  29.     }
  30.         nuevaCelda=nuevaFila.insertCell(-1);
  31.         nuevaCelda.setAttribute("class","nota")
  32.         nuevaCelda.innerHTML="<span>0</span>";
  33. }
  34.  
  35.  
  36. function calculaPromedio(nodo){
  37.     var nodoTd = nodo.parentNode; //Nodo TD
  38.     var nodoTr = nodoTd.parentNode; //Nodo TR
  39.     var celda = nodoTr.getElementsByTagName('td');
  40.    
  41.     var resultado = (parseInt(celda[3].innerHTML) + parseInt(celda[4].innerHTML) + parseInt(celda[5].innerHTML)) / 3;
  42.     celda[6].innerHTML="<span>"+resultado+"</span>";
  43.    
  44.    
  45. }