Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/04/2010, 01:41
Astroscuro
 
Fecha de Ingreso: abril-2010
Mensajes: 19
Antigüedad: 14 años
Puntos: 0
boton eliminar

Buenos días.

Estoy haciendo un formulario y ya tengo hecha la parte de que un botón me añada campos. Que son un combo-box y tres text. El problema viene con el botón de elminar, les pongo el código entero:

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

Como puede verse tengo los campos creados según una variable consecutiva, porque luego necesito recuperar esa información para rellenar una base de datos.

Lo que no logro que funcione es que el botón eliminar este desactivado nada mas iniciar, o cuando el contador pos = 0. Y por supuesto tampoco logro que funcione en si mismo xDD

¿alguna idea?

Gracias.