Foros del Web » Programando para Internet » Javascript »

Añadir campos a un formulario DOM

Estas en el tema de Añadir campos a un formulario DOM en el foro de Javascript en Foros del Web. Hola a todos Llevo algunos días intentando aclararme con el DOM para poder añadir unos campos de formulario haciendo click en un boton, pero no ...
  #1 (permalink)  
Antiguo 03/12/2009, 04:35
 
Fecha de Ingreso: junio-2003
Mensajes: 778
Antigüedad: 20 años, 10 meses
Puntos: 1
Añadir campos a un formulario DOM

Hola a todos

Llevo algunos días intentando aclararme con el DOM para poder añadir unos campos de formulario haciendo click en un boton, pero no consigo nada y estoy desesperado. ¿Podría alguien decirme como hacer una función en javascript para añadir los siguientes campos a un formulario?

Estos son los campos que necesito replicar cada vez que se haga click al boton "Añadir otro registro"


Código:
<tr>      
        <td height="25" align="right" class="texto">Referencia:&nbsp;</td>
        <td height="25"><input name="ref1" type="text" size="15" maxlength="15"></td>
      </tr>
      <tr>      
        <td height="25" align="right" class="texto">Altura mm:&nbsp;</td>
        <td height="25"><input name="altura1" type="text" size="15" maxlength="15"></td>
      </tr>
      <tr>      
        <td height="25" align="right" class="texto">Espesor mm:&nbsp;</td>
        <td height="25"><input name="espesor1" type="text" size="15" maxlength="15"></td>
      </tr>
      <tr>      
        <td height="25" align="right" class="texto">Color cuerpo:&nbsp;</td>
        <td height="25"><input name="cuerpo1" type="text" size="15" maxlength="15"></td>
      </tr>
      <tr>      
        <td height="25" align="right" class="texto">Color peana:&nbsp;</td>
        <td height="25"><input name="peana1" type="text" size="15" maxlength="15"></td>
      </tr>
      <tr>      
        <td height="25" align="right" class="texto">Foto:&nbsp;</td>
        <td height="25"><input name="imagen1" type="file" size="25"></td>
      </tr>

Gracias anticipadas por la ayuda
  #2 (permalink)  
Antiguo 03/12/2009, 04:44
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 9 meses
Puntos: 105
Respuesta: Añadir campos a un formulario DOM

busca sobre appendChild....
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #3 (permalink)  
Antiguo 03/12/2009, 08:21
 
Fecha de Ingreso: junio-2003
Mensajes: 778
Antigüedad: 20 años, 10 meses
Puntos: 1
Respuesta: Añadir campos a un formulario DOM

si he leido un monton al respecto, pero no me sale nada... no consigo que se muestren los campos... Teneís algun ejemplo???
  #4 (permalink)  
Antiguo 03/12/2009, 10:41
Avatar de bng5  
Fecha de Ingreso: junio-2009
Ubicación: 127.0.0.1
Mensajes: 269
Antigüedad: 14 años, 11 meses
Puntos: 24
Respuesta: Añadir campos a un formulario DOM

No es díficil, subí tu código javaScript que lo solucionamos.
  #5 (permalink)  
Antiguo 06/12/2009, 12:21
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 9 meses
Puntos: 105
Respuesta: Añadir campos a un formulario DOM

mira en este ejemplo se crea una tabla y se va añadiendo las filas....... tu deberias analizar el codigo y crear una funcion que solo añade lo que desees.

Código html:
Ver original
  1. <script type="text/javascript">
  2.     function cargarDatos(){
  3.                     var capa=document.getElementById("panel");
  4.                     capa.innerHTML="Cargando...";
  5.  
  6.                     //Creacion de la tabla
  7.  
  8.                     capa.innerHTML="";
  9.                     var table = document.createElement('table');
  10.                     table.style.width = '50%';
  11.                     table.cellPadding="2";
  12.                     table.cellSpacing="0";
  13.                     table.border=1;
  14.                     var tbody = document.createElement("tbody");
  15.  
  16.                     //Creacion de las cabezeras
  17.  
  18.                     var tr = document.createElement('tr');
  19.                    
  20.                     var td = document.createElement('th');
  21.                     td.innerHTML  = "Codigo";
  22.                     tr.appendChild(td);
  23.                    
  24.                     td = document.createElement('th');
  25.                     td.innerHTML  = "Nombre";
  26.                     tr.appendChild(td);
  27.                    
  28.                     td = document.createElement('th');
  29.                     td.innerHTML  = "DNI";
  30.                     tr.appendChild(td);
  31.                    
  32.                     tbody.appendChild(tr);
  33.  
  34.                     //Creacion de filas
  35.  
  36.                     tr = document.createElement('tr');
  37.                        
  38.                     td = document.createElement('td');
  39.                     td.innerHTML  = "registro codigo";
  40.                     tr.appendChild(td);
  41.                        
  42.                     td = document.createElement('td');
  43.                     td.innerHTML  = "registro nombre";
  44.                     tr.appendChild(td);
  45.                        
  46.                     td = document.createElement('td');
  47.                     td.innerHTML  = "registro dni";
  48.                     tr.appendChild(td);
  49.                        
  50.                     tbody.appendChild(tr);
  51.  
  52.                     table.appendChild(tbody);
  53.                     capa.appendChild(table);
  54.     }
  55.  
  56. <div id="panel">Espacio</div>

algo asi seria......... ya tu mismo eres.

suerte.
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #6 (permalink)  
Antiguo 07/12/2009, 13:02
Avatar de bng5  
Fecha de Ingreso: junio-2009
Ubicación: 127.0.0.1
Mensajes: 269
Antigüedad: 14 años, 11 meses
Puntos: 24
Respuesta: Añadir campos a un formulario DOM

En realidad innerHTML es casi lo opuesto a usar DOM y no forma parte del estandar del W3C. Deberías usar document.createTextNode en su lugar.

Código:
// Incorrecto
td.innerHTML  = "Texto";

// Correcto
td.appendChild(document.createTextNode("Texto"));
El objeto Table cuenta con los métodos deleteRow() e insertRow() y a su vez el objeto TableRow cuenta con los métodos deleteCell() e insertCell(). Quizás resulten más sencillos de usar.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:50.