Ver Mensaje Individual
  #4 (permalink)  
Antiguo 23/04/2010, 04:53
crujikoki
 
Fecha de Ingreso: diciembre-2007
Ubicación: Barcelona
Mensajes: 289
Antigüedad: 16 años, 5 meses
Puntos: 8
Respuesta: boton eliminar

Hola,

A ver, no critico tu estilo de programación, pero a mi me parece poco estructurado y que se podría mejorar. Creo que por eso tienes tantos problemas a la hora de hacer lo que quieres.

Pero de todas formas, tú código tal y como está, puede hacer lo que quieres aun que quizás te cueste más. Yo te propongo cambiarlo por este:

Código Javascript:
Ver original
  1. <html>
  2. <head>
  3. <script type="text/javascript">
  4.  
  5. var pos=0;
  6.  
  7. function anadir(formulario,boton) {
  8.   //uff
  9.   pos++;
  10.  
  11.   //No entiendo por que haces esto, ya lo tiene en la variable obj!!!
  12.   //Te he renombrado la variable obj que pasas por parámetro a "formulario"
  13.   //form=document.getElementById("form");
  14.  
  15.  
  16.   //enable delete button
  17.   BotonEliminar=document.getElementById("Eliminar");
  18.   BotonEliminar.disabled=false;
  19.  
  20.   //crear combo-box
  21.   var nombre = "tipo_in";
  22.   var name = nombre + pos;
  23.  
  24.   elem=document.createElement('select');
  25.   elem.setAttribute("name",name);
  26.   elem.setAttribute("id",name);
  27.   option=document.createElement('option');
  28.   option.value="0";
  29.   option.innerHTML="(Por favor, escoja:)";
  30.   elem.appendChild(option);
  31. //  form.appendChild(elem);
  32.  
  33.   option=document.createElement('option');
  34.   option.value="1";
  35.   option.innerHTML="campo1";
  36.   elem.appendChild(option);
  37.  
  38.   option=document.createElement('option');
  39.   option.value="2";
  40.   option.innerHTML="campo2";
  41.   elem.appendChild(option);
  42.  
  43.   option=document.createElement('option');
  44.   option.value="3";
  45.   option.innerHTML="campo3";
  46.   elem.appendChild(option);
  47.  
  48.   option=document.createElement('option');
  49.   option.value="4";
  50.   option.innerHTML="campo4";
  51.   elem.appendChild(option);
  52.  
  53.   option=document.createElement('option');
  54.   option.value="5";
  55.   option.innerHTML="campo5";
  56.   elem.appendChild(option);
  57.  
  58.   formulario.insertBefore(elem,boton);
  59.  
  60.   //crear text nombre
  61.   var nombre = "nombre_in";
  62.   var name = nombre + pos;
  63.  
  64.   elem=document.createElement('input');
  65.   elem.setAttribute("type","text");
  66.   elem.setAttribute("size","30");
  67.   elem.setAttribute("maxlength","30");
  68.   elem.setAttribute("name",name);
  69.   elem.setAttribute("id",name);
  70. //  form.appendChild(elem);
  71.   formulario.insertBefore(elem,boton);
  72.  
  73.   //crear text apellido1
  74.   var nombre = "apellido1_in";
  75.   var name = nombre + pos;
  76.  
  77.   elem=document.createElement('input');
  78.   elem.setAttribute("type","text");
  79.   elem.setAttribute("size","30");
  80.   elem.setAttribute("maxlength","30");
  81.   elem.setAttribute("name",name);
  82.   elem.setAttribute("id",name);
  83. //  form.appendChild(elem);
  84.   formulario.insertBefore(elem,boton);
  85.  
  86.  
  87.   //crear text apellido2
  88.   var nombre = "apellido2_in";
  89.   var name = nombre + pos;
  90.  
  91.   elem=document.createElement('input');
  92.   elem.setAttribute("type","text");
  93.   elem.setAttribute("size","30");
  94.   elem.setAttribute("maxlength","30");
  95.   elem.setAttribute("name",name);
  96.   elem.setAttribute("id",name);
  97. //  form.appendChild(elem);
  98.   formulario.insertBefore(elem,boton);
  99.  
  100.   //crear salto de linea  
  101.   elem=document.createElement('br');
  102.   formulario.insertBefore(elem,boton);
  103. }
  104.  
  105. function eliminar(formulario) {
  106.    
  107.     //Lo mismo que en la función añadir
  108.     //form=document.getElementById("form");
  109.    
  110.     if(pos>0)
  111.     {
  112.    
  113.         var nombre = "tipo_in";
  114.         var name = nombre + pos;
  115.         kill=document.getElementById(name);
  116.         formulario.removeChild(kill);
  117.            
  118.         var nombre = "nombre_in";
  119.         var name = nombre + pos;
  120.         kill=document.getElementById(name);
  121.         formulario.removeChild(kill);
  122.        
  123.         var nombre = "apellido1_in";
  124.         var name = nombre + pos;
  125.         kill=document.getElementById(name);
  126.         formulario.removeChild(kill);
  127.        
  128.         var nombre = "apellido2_in";
  129.         var name = nombre + pos;
  130.         kill=document.getElementById(name);
  131.         formulario.removeChild(kill);
  132.        
  133.         pos--;
  134.         if(pos==0)
  135.         {
  136.             document.getElementById("Eliminar").disabled="true";
  137.         }
  138.     }
  139. }
  140. </script>
  141. </head>
  142. <body>
  143. <form action="llega.php" name="form" method="post">
  144. <p>A&Ntilde;ADIDOS:</p>
  145. <input type="button" value="A&ntilde;adir" onClick="anadir(this.form,this)"/>
  146. <input type="button" value="Eliminar" id="Eliminar" disabled="true" onClick="eliminar(this.form)"/>
  147. <input type="submit" value="Enviar" />
  148. </form>
  149. <br/>
  150. </body>
  151. </html>

Es el mismo que el tuyo pero hace lo que pides. Tiene un fallo y es que no se como eliminar los saltos de línea. Estoy en el trabajo y no tengo mucho tiempo la verdad... Así que eso te lo dejo para ti!

Ya me dices a ver que tal!